Windows에서 "import tensorflow"를 실행하면 "_pywrap_tensorflow"라는 모듈 없음 오류가 생성됩니다.


87

Windows에서 TensorFlow는 import tensorflow문 을 실행 한 후 다음 오류 중 하나 또는 둘 다를보고합니다 .

  • No module named "_pywrap_tensorflow"
  • DLL load failed.

답변:


78

문제는 나를위한 cuDNN 라이브러리였습니다. 어떤 이유로 든 cudnn-8.0-windows10-x64-v6.0이 작동하지 않았습니다. cudnn-8.0-windows10-x64-v5.1을 사용했습니다.

Win10 64 및 Nvidia GTX780M에서 작동하는 설정 :

  • 시스템 / 경로를 확인하여 lib MSVCP140.DLL이 있는지 확인 하십시오.
  • 여기 에서 python 3.5.3-amd64 용 Windows 설치 프로그램을 실행 하세요. 최신 버전은 작동하지 않을 수 있으므로 시도하지 마세요.
  • 여기 에서 CUDA 8.0 용 cuDNN v5.1을 가져옵니다. 사용자 폴더 또는 다른 알려진 위치에 넣습니다 (경로에 필요함).
  • 여기 에서 CUDA 8.0 x86_64 받기
  • cuDNN libs 및 python을 가리 키도록 예상대로 PATH vars를 설정합니다 (python 설치 중에 Python 경로를 추가해야 함)
  • ".DLL"이 PATHEXT 변수에 포함되어 있는지 확인하십시오.
  • tensorflow 1.3을 사용하는 경우 cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705 를 사용하고 싶습니다.

Windows 32를 실행하는 경우 위에서 언급 한 파일의 32 비트 버전을 가져와야합니다.


8
대부분의 사람들에게 분명 할 수 있지만 CUDA DLL은 'cudnn64_5.dll'이고 해당 폴더는 상위 폴더가 아닌 경로에 있어야합니다. '% USERPROFILE % \ AppData \ Local \ cuda \ bin;'에 놓았습니다.
Awesomeness

6
PATH에 추가 한 후에는 명령 프롬프트를 닫고 다시 여는 것을 잊지 마십시오. 또한 명령 프롬프트에 "cudnn64_5.dll"을 입력하여 경로 설정이 올바른지 확인하는 것이 좋습니다.
Sean Colombo

9
당신이 다음 tensorflow 1.3을 사용하는 경우 난 그냥 당신이 cudnn64_6.dll 사용하려면,이 디버깅을 4 시간 동안 github.com/tensorflow/tensorflow/issues/7705
크리스 배럿

2
Chris Barret의 의견이 문제를 해결했습니다. 2017 년 8 월 이후에 설치하는 경우 5 또는 7이 아닌 cuDNN v6,0이 필요할 것입니다.
user1761806

2
제 경우에는 파이썬 3.5.4도 작동했습니다. 그리고 vs17을 제거하고 Visual Studio 15 (win10)를 설치할 때까지 cuda 8.0을 설치할 수 없었습니다. 이전 버전을 하나씩 찾아서 설치해야한다는 것은 정말 우스꽝 스럽습니다.
margincall

21

제 경우에는 / bin 폴더에있는 "cudnn64_6.dll"파일의 이름을 "cudnn64_5.dll"로 바꿔야 오류가 사라졌습니다. 나는 이것을 알아 내기 위해 쉽게 2 시간을 보냈고 나는 편지의 공식 설치 가이드를 따랐다. 이는 pip (공식적으로 지원됨) 및 conda (커뮤니티 지원됨)를 통한 설치에 해당됩니다.


1
제 경우였습니다. TensorFlow는 "cuDNN 버전 5.1"을 필요로하지만 cuDNN 버전 6.0을 설치하는 경우, 다음 cudnn DLL 파일의 파일 이름이 될 것 cudnn64_6.dll없습니다 cudnn64_5.dll.
Naetmul

1
당신이 다음 tensorflow 1.3을 사용하는 경우는 cudnn64_6.dll 사용할 github.com/tensorflow/tensorflow/issues/7705
크리스 배럿

나는 tensorflow 1.3을 사용하고 있으며 @ChrisBarrett이 작동하도록 말했듯이 cudnn64_7.dll (현재 최신 버전)에서 cudnn64_6.dll로 변경해야했습니다.
Javier Cabero

1
tensorflow 1.3 및 cudNN 7의 경우 유사하게 이름 cudnn64_7.dll을 변경 하여 cudnn64_6.dll도움 을 줍니다.
Smarty77

12

두 오류는 모두 MSVCP140.DLLTensorFlow에 필요한 시스템이 설치되지 않았 음을 나타냅니다 .

이 오류를 수정하려면 :

  1. 여부를 결정 MSVCP140.DLL당신에 %PATH%변수입니다.
  2. 경우 MSVCP140.DLL당신에없는 %PATH%, 설치 비주얼 C ++ 2015 재배포 이 DLL을 포함 (64 버전).

1
이것은 그의 문제를 해결하거나 (CPU 대 GPU에 따라 다름) Windows dll이 필요하지만 다른 문제 일 수도 있습니다-아래 답변을 참조하십시오. Windows dll에 문제가 없었지만 대신 cuDNN v6.0에 문제가있었습니다
DropHit

7
명령 프롬프트에서 다음을 입력하여 경로에 MSVCP140.dll이 있는지 확인할 수 있습니다. 여기서 MSVCP140.DLL
nickandross

링크를 클릭하면 2010 버전으로 이동합니다. 2015 년 또는 2010 년 버전을 목표로하고 있습니까?
DAG

10

CPU 만있는 tensorflow의 경우 :


명령을 사용하여 tensorflow를 설치했습니다.

pip3 install --upgrade tensorflow

이것은 설치 tensorflow 1.7
되었지만 다음을 python 3.6.5 amd64사용하여 tensorflow를 가져올 수 없습니다 .

import tensorflow as tf

그래서 다음 명령 1.71.5사용하여 tensorflow 버전을 다운 그레이드했습니다 .

pip3 install tensorflow==1.5

이렇게하면 이전 버전이 제거되고 1.5. 이제 작동합니다.

CPU 가 필요한 AVX 명령 세트를 지원하지 않는 것 같습니다 .tensorflow 1.7

나는 한 MSVCP140.DLL환경 변수에서 PATHEXT 변수에 시스템 폴더 및 .DLL에.


내 시스템 : Windows 8.1, Python 3.6.5 64 비트, GPU 없음.
Rakibul Haq 2018

버전 2.0.0 이후로 업데이트해야 할 수도 있습니다, tensorflow-GPU는 일반 설치에 통합되어 있습니다 - 여기를 참조하십시오 github.com/fo40225/tensorflow-windows-wheel은 어쩌면 당신은 여기 내 대답을 고려할 경우 다른과의 호환성 python 및 tensorflow 버전 설명 : stackoverflow.com/questions/45749992/…
Cadoiz

10

AMD CPU에는 Win7 Pro 64 비트가 있고 GPU는 없습니다. https://www.tensorflow.org/install/install_windows 에서 "기본 pip로 설치"의 지침을 따르고있었습니다 . 설치 단계는 괜찮 았지만 tensorflow를 가져 오려는 시도는 악명 높은 결과를 낳았습니다.

ImportError: No module named '_pywrap_tensorflow_internal'

이것은 구성에 따라 관련되지 않은 많은 일이 잘못 될 수있는 상황 중 하나 인 것으로 보이며 모두 동일한 오류로 이어집니다.

제 경우에는 MSVCP140.DLL을 설치하는 것이 정답이었습니다.

당신은 MSVCP140.DLL이미

  1. 파일이 C:\Windows\System32\MSVCP140.DLL있고
  2. 64 비트 시스템을 사용하는 경우 추가로 C:\Windows\SysWOW64\MSVCP140.DLL.

수동으로 설치했는데 불필요했습니다 (재배포 가능 파일은 전체 Visual C ++ 개발 엉망이 아니며 크지 않습니다). 이 스레드의 앞부분에 게시 된 링크를 사용하여 설치합니다. Visual C ++ 2015 redistributable .

또한 C:\Program FilesWindows가 파일 쓰기 방지를 시도하므로 나중에 문제가 발생하기 때문에 Python의 기본 설치 디렉터리를 재정의하고 .


7

TensorFlow필요 MSVCP140.DLL시스템에 설치 될 수있다. 문제를 해결하려면 터미널을 열거 나 다음 링크를 붙여 넣으십시오.

C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_amd64.whl 

이것은 TensorFlow의 CPU 전용 버전을 설치하기위한 것입니다.


내 구성의 일 바이너리이었다 : storage.googleapis.com/tensorflow/windows/cpu/... - 확인 pypi.python.org/pypi/tensorflow 사용할 수 내장 된 바이너리는. "import tensorflow as tf"가 성공할 때까지 몇 가지를 확인했습니다.
David

7

cuDNN으로 인해 문제가 발생합니다. PATH 변수가 작동하지 않습니다. cuDNN 폴더에있는 파일을 적절한 CUDA 8.0 폴더 구조로 복사해야합니다.


6

구형 하드웨어에서 실행하는 경우 :

tensorflow-gpu 1.6을 사용하는 오래된 CPU로 인해 이와 동일한 오류가 발생할 수 있습니다.

CPU가 2011 년 이전에 만들어진 경우 최대 tensorflow-gpu 버전은 1.5입니다.

Tensorflow 1.6에는 CPU에 대한 AVX 지침이 필요합니다. 여기에서 확인 : Tensorflow Github 문서

AVX 지원 CPU : Wiki AVX CPU

텐서 플로우를 위해 conda 환경에서 내가 한 일 :

pip install --ignore-installed --upgrade tensorflow-gpu==1.5

4

저에게 문제는 그래픽 카드의 요구 사항과 일치하지 않는 cuDNN 라이브러리였습니다. 6.0 버전을 다운로드했지만 GTX980ti의 경우 nvidia 웹 사이트에서 권장되는 컴퓨팅 기능은 5.1 ( http://developer.nvidia.com/cuda-gpus ) 이었으므로 5.1을 다운로드하고 6.0 버전을 교체했습니다. 작동을 시작했습니다.


4

많은 시행 착오 끝에 VC ++ 2015 Redistributable , cuDNN DLL 및 기타 모든 종속성이 PATH에서 액세스 가능한지 확인한 후 Tensorflow GPU 가 Python에서만 작동 하는 것처럼 보입니다 3.5.2(이 글을 쓰는 시점에서).

따라서 사용하는 경우 Anaconda

  • conda create -n tensorflow-gpu python=3.5.2
  • activate tensorflow-gpu
  • pip install tensorflow-gpu

그런 다음 파이썬 인터프리터를 열고

>>> import tensorflow as tf
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

속성이있는 장치 0 발견 :
이름 : GeForce 940M
메이저 : 5 마이너 : 0
memoryClockRate (GHz) 1.176
pciBusID 0000 : 06 : 00.0
총 메모리 : 2.00GiB
여유 메모리 : 1.66GiB

크레딧 : 이 깔끔한 가이드


4

각 Tensorflow의 버전마다 다른 버전의 CuDnn이 필요합니다. 에 www.tensorflow.org , 그들은 설치 안내서 그것에 대해 언급하지 않았다!

제 경우에는 cuDNN 6을 사용하는 tensorflow 버전 1.3을 사용합니다. https://github.com/tensorflow/tensorflow/releases .

Tensorfow 버전과 cuDNN 버전이 서로 일치하는지 확인하십시오.

그리고 cuDNN에 대한 경로 환경을 설정하십시오. 그래도 작동하지 않으면 @ Chris Han답변 을 확인하십시오 .


3

Windows 시스템에 대한 이 게시물 에서 "DLL로드 실패"문제를 해결하기위한 일반적인 접근 방식을 게시했습니다 . 참고로 :

  1. DLL 종속성 분석기 종속성 을 사용 <Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyd하여 정확히 누락 된 DLL ( ?DLL 옆에 표시됨) 을 분석 하고 확인합니다 . .pyd 파일의 경로는 내가 설치 한 TensorFlow 1.9 GPU 버전을 기반으로합니다. 이름과 경로가 다른 TensorFlow 버전에서 동일한 지 확실하지 않습니다.

  2. 누락 된 DLL 정보를 찾아 문제를 해결하기 위해 적절한 패키지를 설치하십시오.


1
이 접근 방식은 어떤 dll이 누락되었는지 명시 적으로 보여주기 때문에 좋아합니다. tensorflow 1.11이 CUDA 9 dll을 찾고 있으며 CUDA 10 라이브러리를 검색하지 않는 것으로 나타났습니다.
padmalcom

1
제안 해 주셔서 감사합니다! 내 컴퓨터에서 문제는 tensorflow가 CUDA takeit v9와 함께 제공되는 DLL을 찾고 있다는 것이었지만 CUDA 툴킷 v10을 설치했습니다
Floris Devreese

이것은 매우 유용합니다. . All files (*.*)대신 파일 이름 옆 을 선택 해야합니다 exe files (*.exe, *.dll).
Cadoiz

2

Windows에서 Powershell / cmd를 열어두고 싶을 수 있습니다. Powershell을 닫았다가 다시 열 때까지 모든 작업을 제대로 수행했다는 사실을 깨닫기 전까지 합리적인 시간을 보냈습니다.


2

Windows에 tensorflow GPU를 설치하려는 경우이 쉽고 흥미로운 튜토리얼을 찾을 수 있습니다 .

참고 : 예를 들어 PyCharm을 사용하는 경우 인터프리터를 생성 된 conda 환경으로 변경해야합니다.



1

문제는 나를위한 cuDNN 라이브러리였습니다. Windows PATH에 cuDNN DLL (LIB 파일 아님)의 디렉터리 (아마도 bin 폴더)를 추가 한 후 테스트 코드 를 실행할 수있었습니다 .

참고로 PIP와 내 OS : Windows 7 및 IDE : Visual Studio 2015를 사용하여 소스에서 TensorFlow를 설치했습니다.



1

내 2 센트 :

CUDA 8.0을 Windows 7에 제대로 설치하는 데 많은 문제가있었습니다. 이전 버전이 설치되어 있었는데 업그레이드하고 싶었 기 때문에이를 제거하고 CUDA 8.0 (텐서 플로우 1.3 용)을 설치하려고했습니다. 매번 설치에 실패했고 CUDA 7.5로 다운 그레이드하려고했고 설치할 수 있었지만 텐서 플로우에 많은 문제가있었습니다 (여기에 설명 된 PATH 문제와 유사). 간단히 말해서, 저에게 효과가 있었던 것은 다음과 같습니다.

1) 모든 NVIDIA 구성 요소 제거 (디스플레이 그래픽 드라이버 제외)

2) CUDA 툴킷 8.0 (및 패치) 다운로드 https://developer.nvidia.com/cuda-downloads

3) CheckSum MD5 (MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533을 사용 했지만 어떤 방식 으로든 사용)를 확인하여 정상인지 확인합니다 (여러 번 발생했습니다. 내 WiFi 라우터가 분명히 있기 때문에 설치 프로그램이 제대로 다운로드되지 않았습니다).

4) CUDA 툴킷 설치 프로그램을 루트로 실행하십시오.

5) cudnn 8.0 v6을 다운로드하고 해당 위치를 PATH 변수 https://developer.nvidia.com/rdp/cudnn-download에 추가합니다.

두통을 돕고 구하는 희망 ...

참고 :이 스크립트는 문제를 디버깅하는 데 많은 도움이되었습니다! (감사합니다 mrry) https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c


1

나는 나를 위해 일한 솔루션을 제공하려고 노력할 것입니다. 다양한 문제가 이러한 상황으로 이어질 수있는 것 같습니다.

32 비트 소프트웨어는 64 비트 OS에서 작동합니다. 64 비트 OS에 anaconda-3 (32 비트)를 설치했습니다. 완벽하게 잘 작동했습니다. 내 컴퓨터에 tensorflow를 설치하기로 결정했는데 처음에는 설치되지 않았습니다. conda 환경을 사용하여 tensorflow를 설치했는데이 오류가 발생했습니다.

해결 방법은 64 비트 OS를 실행하는 경우 64 비트 아나콘다를 설치하고 32 비트 OS 인 경우 32 비트 아나콘다를 설치하는 것 입니다. 그런 다음 Windows 용 tensorflow 웹 사이트 (아나콘다 설치)에 언급 된 표준 절차를 따르십시오. 이를 통해 문제없이 tensorflow를 설치할 수있었습니다.


1

내 대답은 Windows 10에서 다음을 시도했을 때만 Windows 10 사용자를위한 것입니다. 위의 답변 중 일부를 확장하면 이것을 제안합니다. 아나콘다를 사용하는 경우 모든 것을 피하고 명령을 사용하여 anaconda-navigator 를 간단히 설치할 수 있습니다.

conda install -c anaconda anaconda-navigator

그런 다음 명령을 사용하여 명령 프롬프트에서 탐색기를 시작할 수 있습니다.

anaconda-navigator

이 명령을 실행하면 가상 환경을 만들고 python = 3.5.2로 환경을 만들고 gui를 사용하여 검색 상자에서 모듈을 검색하여 tensorflow-gpu 또는 tensorflow 모듈을 설치할 수있는 간단한 GUI가 표시됩니다. 올바른 cuda 파일을 설치하는 방법. anaconda navigator를 사용하는 것이 가장 간단한 해결책입니다.

아나콘다를 사용하지 않는 경우 다음 사항에주의하십시오.

tensorflow-gpu 1.3에는 python 3.5.2, cuda 개발 키트 8.0 및 cudaDNN 6.0이 필요하므로 설치할 때 명령을 실행해야합니다.

pip install tensorflow-gpu==1.3

tensorflow-gpu 1.2.1 이하에는 python 3.5.2, cuda 개발 키트 8.0 및 cudaDNN 5.1이 필요하므로 설치할 때 명령을 실행해야합니다.

pip install tensorflow-gpu==1.2.1

다음은 위의 두 프로세스 모두에 대해 따라야하는 단계입니다. 경로 변수 설정 다음 시스템 변수가 있어야합니다.

CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"
CUDA_PATH = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"
CUDA_PATH_V8.0 = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"

PATHTEXT는 다른 확장자와 함께 ".DLL"을 포함해야합니다.

".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.DLL"

또한 경로에 다음을 추가하십시오.

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64;
C:\Windows\SysWOW64;
C:\Windows\System32        

오류가 발생하면 mrry에서 아래 코드를 실행하여 다운로드 할 수 있습니다.이 코드는 설정을 확인하고 문제가 있는지 알려줍니다. https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c

참조 : http://blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html

위의 참조는 매우 유용합니다. 이 답변에 대한 개선 사항에 대해 의견을 보내주십시오. 도움이 되었기를 바랍니다. 감사합니다.


anaconda 옵션 은 훌륭하게 들리지만 anaconda.org/anaconda/tensorflow-gpu를 보면 Windows 용 tensorflow-gpu 버전은 1.1 인 것 같습니다. anaconda를 통해 1.3을 얻는 방법은 없습니까?
ftiaronsem

@ftiaronsem는 1.3을 원하는 경우 다음 참조 링크를 따라 cudaDNN 6.0 사용을 기록해 아나콘다 - 네비게이터를 사용하여 1.3을 설치하는 방법이 없습니다
M2skills

1

tensorflow 1.3은 아직 cuda 9.0을 지원하지 않습니다 . 나는 cuda 8.0으로 저하되면 작동합니다.


1

2019 년에이 게시물을 찾은 사람들에게는 Python 버전 3.7이 TensorFlow를 지원하지 않기 때문에이 오류가 발생할 수도 있습니다 ( https://www.tensorflow.org/install/pip 참조 ). 따라서 Python 버전을 확인하십시오.

python --version

3.6보다 큰 경우 3.6으로 다운 그레이드해야합니다. Anaconda의 경우 :

conda install python=3.6

그런 다음 TensorFlow를 설치합니다.

pip install tensorflow

Btw, GPU 버전이 없었기 때문에 제 경우에는 CUDA 관련 문제가 없었습니다.


1
나는 여전히 같은 문제를 가지고 한
RollRoll

이것은 학생들이 사용하는 두 대의 다른 컴퓨터에서 저에게 효과적이었습니다. 위의 해결책을 시도한 후에도 여전히 문제가 발생했습니다. 귀하의 경우에는 위에서 설명한 상황 일 수 있습니다.
Catalin Stoean

0

(같은 문제에 란 2019년 9월 9일 ) 조사하면서 [SO] : 훈련 tensorflow의 추정 API를 사용하는 동안 오류 .

설정:

오류 :

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow as tf"
Traceback (most recent call last):
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/errors

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

"결함이있는"모듈 ( Dependency Walker 덕분에)을 살펴보면 그 자체가 누락 된 것이 아니라 일부 종속성 ( cu * _ 100 .dll 파일)이 있음이 밝혀졌습니다 .

Img0

확인 [SO] : Python Ctypes-dll로드시 OSError : [WinError 193] % 1은 (는) 유효한 Win32 응용 프로그램이 아닙니다 (@CristiFati의 답변) ( 마지막 의 결론 섹션). 이러한 종류의 오류에 대한 자세한 내용을 확인하십시오.
이전 CUDA Toolkit 버전 ( 8 )이 있었고 그 결과 cu * _ 80 .dll 파일이있었습니다.

TensorFlow-GPU 1. 14 .0 ( "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -m pip install --upgrade tensorflow-gpu)으로 업그레이드 하면 오류가 조금 더 명확 해지고 짧아집니다.

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow as tf"
Traceback (most recent call last):
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\platform\self_check.py", line 75, in preload_check
    ctypes.WinDLL(build_info.cudart_dll_name)
  File "c:\install\x64\python\python\03.07.03\Lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\__init__.py", line 28, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 30, in <module>
    self_check.preload_check()
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\platform\self_check.py", line 82, in preload_check
    % (build_info.cudart_dll_name, build_info.cuda_version_number))
ImportError: Could not find 'cudart64_100.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 10.0 from this URL: https://developer.nvidia.com/cuda-90-download-archive

단계 :

  • CUDA 툴킷 버전 제거 (선택 사항)
  • [nVidia.Developer] 설치 : CUDA Toolkit 10.0 아카이브
    • v10.0 을 설치해야합니다 ( TensorFlow-GPU 버전은에 대해 빌드 됨 ). v10을 설치했습니다 . 1 (최신 버전이며 응답 당시 권장 버전)이고 .dll 이름이 일치하지 않습니다 ( cu * _10 1 .dll ). v10.0 을 설치하고 싶지 않았기 때문에 기존 파일에 대한 일부 심볼릭 링크 ( "올바른"이름 포함)를 만들었고 제대로 작동했습니다. 그러나 이것은 지원되지 않는다는 것을 명심하십시오 !!! 재미있는 동작 (충돌 포함)이 발생할 수 있습니다 . 이것은 (절름발이) 해결 방법입니다 ( gainarie )
    • 또한 호환되는 (특정 CUDA 툴킷 버전을 위한 것임을 의미 ) cuDNN 버전 ( [nVidia.Developer] : cuDNN Archive )이 필요합니다. 다운로드에 액세스하기 위해 URL을 , 엔비디아 회원 가입이 필요합니다

위의 단계를 수행하고 올바른 경로를 설정하면 다음과 같이 작동합니다.

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> set PATH=%PATH%;%CUDA_PATH%\bin;f:\Install\x64\NVidia\GPU Computing Toolkit\cuDNN\7.6\bin

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow;print(\"Success!!!\")"
Success!!!
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.