无法在Windows 10

时间:2017-04-24 00:15:16

标签: python dll tensorflow

尝试在我的计算机上安装Tensorflow的gpu版本,但在尝试导入tensorflow'

时出现此错误
  

ImportError Traceback(最近一次调用   持续)   C:\ Users \用户snh5_000 \ Anaconda3 \ LIB \站点包\ tensorflow \蟒蛇\ pywrap_tensorflo   swig_import_helper()中的w_internal.py        17尝试:   ---> 18返回importlib.import_module(mname)        19除了ImportError:

     

C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib__init __。py in   import_module(name,pac kage)       125级+ = 1    - > 126 return _bootstrap._gcd_import(name [level:],package,level)       127

     

C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py in   _gcd_import(name,pac kage,level)

     

C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py in   _find_and_load(name,import _)

     

C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py in   _find_and_load_unlock ed(name,import _)

     

C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py in   _load_unlocked(SPEC)

     

C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py in   module_from_spec(spec)

     

C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap_external.py in   create_modul e(self,spec)

     

C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py in   _call_with_frames_rem oved(f,* args,** kwds)

     

ImportError:DLL加载失败:找不到指定的模块。

     

在处理上述异常期间,发生了另一个异常:

     

ImportError Traceback(最近一次调用   持续)   C:\ Users \用户snh5_000 \ Anaconda3 \ LIB \站点包\ tensorflow \蟒蛇\ pywrap_tensorflo   w.py in()        40 sys.setdlopenflags(_default_dlopen_flags | ctypes.RTLD_GLOBAL)   ---> 41来自tensorflow.python.pywrap_tensorflow_internal import *        42来自tensorflow.python.pywrap_tensorflow_internal import 版本

     

C:\用户\ snh5_000 \ Anaconda3 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflo   w_internal.py in()        20返回importlib.import_module(' _pywrap_tensorflow_internal')   ---> 21 _pywrap_tensorflow_internal = swig_import_helper()        22 del swig_import_helper

     

C:\用户\ snh5_000 \ Anaconda3 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflo   swig_import_helper()中的w_internal.py        19除了ImportError:   ---> 20返回importlib.import_module(' _pywrap_tensorflow_internal')        21 _pywrap_tensorflow_internal = swig_import_helper()

     

C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib__init __。py in   import_module(name,pac kage)       125级+ = 1    - > 126 return _bootstrap._gcd_import(name [level:],package,level)       127

     

ImportError:没有名为' _pywrap_tensorflow_internal'

的模块      

在处理上述异常期间,发生了另一个异常:

     

ImportError Traceback(最近一次调用   最后)in()   ----> 1导入张量流

     

C:\用户\ snh5_000 \ Anaconda3 \ lib中\站点包\ tensorflow__init __ PY   in()        22        23 #pylint:disable = wildcard-import   ---> 24来自tensorflow.python import *        25 #pylint:enable = wildcard-import        26

     

C:\用户\ snh5_000 \ Anaconda3 \ lib中\站点包\ tensorflow \ python__init __ PY。   在<模块>()        49导入numpy为np        50   --->来自tensorflow.python的51导入pywrap_tensorflow        52        53#协议缓冲区

     

C:\用户\ snh5_000 \ Anaconda3 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflo   w.py in()        50由于一些常见的原因和解决方案。包括整个堆栈跟踪        51在寻求帮助时出现此错误消息。""" %traceback.format_exc()   ---> 52引发ImportError(msg)        53        54#pylint:enable = wildcard-import,g-import-not-at-top,unused-import,line-   过长的

     

ImportError:Traceback(最近一次调用最后一次):文件   " C:\用户\ snh5_000 \ Anaconda3 \ lib中\站点包\ tensorflow \蟒\ pywrap_t   ensorflow_internal.py",第18行,在swig_import_helper中       return importlib.import_module(mname)File" C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib__init __。py",第126行,in   imp ort_module       在_gcd_import文件中返回_bootstrap._gcd_import(name [level:],package,level)文件"",第986行   "",第969行,在_find_and_load文件中   "",第958行,在_find_and_load_unlocked中   文件"",第666行,在_load_unlocked中   在module_from_spec中文件"",第577行   文件"",第906行,in   create_module文件"",第222行,in   _call_with_frames_removed ImportError:DLL加载失败:找不到指定的模块。

     

在处理上述异常期间,发生了另一个异常:

     

Traceback(最近一次调用最后一次):文件   " C:\用户\ snh5_000 \ Anaconda3 \ lib中\站点包\ tensorflow \蟒\ pywrap_t   ensorflow.py",第41行,in       来自tensorflow.python.pywrap_tensorflow_internal import *文件" C:\ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_t   ensorflow_internal.py",第21行,in       _pywrap_tensorflow_internal = swig_import_helper()文件" C:\ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_t   ensorflow_internal.py",第20行,在swig_import_helper中       return importlib.import_module(' _pywrap_tensorflow_internal')文件" C:\ Users \ snh5_000 \ Anaconda3 \ lib \ importlib__init __。py",line   126,在import_module中       return _bootstrap._gcd_import(name [level:],package,level)ImportError:没有名为' _pywrap_tensorflow_internal'

的模块      

无法加载本机TensorFlow运行时。

     

请参阅   https://www.tensorflow.org/install/install_sources#common_installation_probl   EMS

     

出于一些常见原因和解决方案。包括整个堆栈跟踪   请求帮助时出现此错误消息。

运行Windows 10,Python 3.5.2,Anaconda 4.2.0 64位。安装tensorflow-gpu使用' pip install tensorflow-gpu'。

我尝试了https://github.com/tensorflow/tensorflow/issues/5949中的修补程序,即运行Microsoft Visual C ++ 2015 Redistributable Update 3并确认我在System32 / SysWOW64 /我的Python文件夹中有以下DLL:

  

KERNEL32.dll中

     

WSOCK32.DLL

     

WS2_32.DLL

     

SHLWAPI.DLL

     

python35.dll

     

MSVCP140.dll

     

VCRUNTIME140.dll

     

API-MS-双赢CRT-运行时l1-1-0.dll

     

API-MS-双赢CRT-堆l1-1-0.dll

     

API-MS-双赢CRT-公用事业l1-1-0.dll

     

API-MS-双赢CRT-标准输入输出-l1-1-0.dll

     

API-MS-双赢CRT-字符串l1-1-0.dll

     

API-MS-双赢CRT-数学l1-1-0.dll

     

API-MS-双赢CRT-转换-l1-1-0.dll

     

API-MS-双赢CRT-环境l1-1-0.dll

     

API-MS-双赢CRT-文件系统l1-1-0.dll

     

API-MS-双赢CRT-时间l1-1-0.dll

值得注意的是,Tensorflow的cpu版本导入并运行得很好,但是当我尝试使用gpu版本时,我得到了上述错误。我认为这是由于我在配置CUDA工具包/ cudNN方面的错误,但我认为我正确地完成了说明中列出的所有内容。我确保在CUDA工具包的PATH环境变量中有一个条目(通向\ bin和\ libnvvp)并为cudNN添加一个条目(导致\ cuda)。

您需要提供哪些想法或其他信息?

9 个答案:

答案 0 :(得分:26)

尝试在cudnn64_6.dll中将cudnn64_5.dll重命名为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin

答案 1 :(得分:8)

您需要CUDA_HOME导致\cuda%CUDA_HOME%\bin附加到您的路径。 此外,目前的tensorflow仅支持cudNN 5.1,请确保你拥有它。

答案 2 :(得分:3)

您是否尝试过将其关闭再打开? 但是说真的。如果在CUDA和cuDNN安装期间运行命令行终端,则在关闭并重新打开终端之前,环境变量不会刷新。我知道这很简单,但在一次简单的重启解决了相同的导入错误之前,我挣扎了一个小时。

答案 3 :(得分:2)

运行Windows 10,Anaconda 4.3.21 64位,Python 3.5.3和TensorFlow 1.2.0时出现同样的问题。
但是,通过安装cuDNN v5.1而不是此处提议的v6.0来解决此问题https://stackoverflow.com/a/43566341/3830240

答案 4 :(得分:1)

安装cuDNN 5.1后我仍然遇到_pywrap_tensorflow_internal错误(是的,我已正确设置了PATH)。我最好从this site安装tensorflow_gpu。这需要cuDNN 6.0,而不是5.1。不幸的是,他们目前只有Tensorflow 1.1用于GPU系统。

答案 5 :(得分:0)

我在这里尝试了所有解决方案,但这对我不起作用。检查此link是否符合要求,并确保您具有兼容版本。 我还将所有cuDNN路径添加到我的环境变量中,也不要忘记将 lib bin include 的内容复制到CUDA安装中的相同文件夹。

答案 6 :(得分:0)

这对我有用。我提到了Tensorflow网站,找到了目前支持的CudaNN版本。当我解决了我的问题时,它是CudaNN 6.x.最新版本,在我的情况下7个DLL没有被tensorflow加载,如果你尝试重命名它,它会导致内存错误。

答案 7 :(得分:0)

应该注意的是,从版本1.0开始直到版本1.2 Tensorflow需要Cuda8和cudnnv5.1。因此你需要安装cudnn5.5 这个问题是在April 24 2017上提出的,这意味着OP正在尝试安装版本1.1.0(当时,最新版本),当时需要cudnn5.5和python3.5。所以他需要有cudnn5来解决他/她的问题。

但是,如果您尝试安装最新版本的Tensorflow,即大于1.3.0,则需要cudnnv6.0 +。
如果您在1.3.0上收到此错误,则表示您需要cudnnv6.0。 把它放到你的PATH,你会没事的。

答案 8 :(得分:0)

尝试更改dll文件版本对我来说不起作用。经过数周的tensorflow-gpu导入错误困扰后,我终于发现我需要使各个目录(CUDA,cuDNN和CUPTI)与我的%PATH%环境变量匹配。我正在使用带有Tensorflow 1.11的CUDA 9.0,cuDNN v7.0。

C:\> SET PATH=C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v9.0\bin;%PATH% 

C:\> SET PATH=C:\Program Files\NVIDIA GPU
Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64;%PATH% 

C:\> SET PATH=C:\tools\cuda\bin;%PATH%

https://www.tensorflow.org/install/gpu