ImportError:DLL加载失败:找不到指定的模块。在尝试导入TensorFlow时

时间:2017-05-01 23:29:13

标签: python tensorflow

尝试导入TensorFlow时出现以下错误。我尝试回滚到C ++ Redist。 2015年(从2017年起)仍然无法运作。 Win10,Python 3.5(64)

  

Traceback(最近一次调用最后一次):文件   " C:\ Python35 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflow_internal.py&#34 ;,   第18行,在swig_import_helper中返回importlib.import_module(mname)   在import_module中的文件" C:\ Python35 \ lib \ importlib_init_.py",第126行   return _bootstrap._gcd_import(name [level:],package,level)File"",   第986行,在_gcd_import文件"",第969行,_find_and_load文件"",   第958行,在_find_and_load_unlocked文件"",第666行,in   _load_unlocked文件"",第577行,在module_from_spec文件"",第914行,在create_module文件"",第222行,在_call_with_frames_removed   ImportError:DLL加载失败:找不到指定的模块。

     

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

     

Traceback(最近一次调用最后一次):文件   " C:\ Python35 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflow.py&#34 ;,   第41行,来自tensorflow.python.pywrap_tensorflow_internal import *   文件   " C:\ Python35 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflow_internal.py&#34 ;,   第21行,in   _pywrap_tensorflow_internal = swig_import_helper()文件" C:\ Python35 \ lib \ site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py",   第20行,在swig_import_helper中返回   importlib.import_module(' pywrap_tensorflow_internal')文件   " C:\ Python35 \ lib \ importlib_init.py",第126行,在import_module中返回   _bootstrap._gcd_import(name [level:],package,level)ImportError:没有名为' _pywrap_tensorflow_internal'

的模块      

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

     

回溯(最近一次呼叫最后一次):文件"",第1行,在文件中   " C:\ Python35 \ lib \ site-packages \ tensorflow_init_.py",第24行,来自   tensorflow.python import *文件   " C:\ Python35 \ lib \ site-packages \ tensorflow \ python_init_.py",第51行,   在tensorflow.python中导入pywrap_tensorflow文件   " C:\ Python35 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflow.py&#34 ;,   第52行,引发ImportError(msg)ImportError:Traceback(最近的   最后打电话):文件   " C:\ Python35 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflow_internal.py&#34 ;,   第18行,在swig_import_helper中返回importlib.import_module(mname)   在import_module中的文件" C:\ Python35 \ lib \ importlib_init_.py",第126行   return _bootstrap._gcd_import(name [level:],package,level)File"",   第986行,在_gcd_import文件"",第969行,_find_and_load文件"",   第958行,在_find_and_load_unlocked文件"",第666行,in   _load_unlocked文件"",第577行,在module_from_spec文件"",第914行,在create_module文件"",第222行,在_call_with_frames_removed   ImportError:DLL加载失败:找不到指定的模块。

     

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

     

Traceback(最近一次调用最后一次):文件   " C:\ Python35 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflow.py&#34 ;,   第41行,来自tensorflow.python.pywrap_tensorflow_internal import *   文件   " C:\ Python35 \ lib中\站点包\ tensorflow \蟒\ pywrap_tensorflow_internal.py&#34 ;,   第21行,in   _pywrap_tensorflow_internal = swig_import_helper()文件" C:\ Python35 \ lib \ site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py",   第20行,在swig_import_helper中返回   importlib.import_module(' pywrap_tensorflow_internal')文件   " C:\ Python35 \ lib \ importlib_init.py",第126行,在import_module中返回   _bootstrap._gcd_import(name [level:],package,level)ImportError:没有名为' _pywrap_tensorflow_internal'

的模块      

无法加载本机TensorFlow运行时。

     

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

     

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

1 个答案:

答案 0 :(得分:2)

我在Windows 10和GTX960M中的工作设置:

  • 安装python 3.5.x
  • Microsoft visual studio 2015社区版。
  • 下载并安装CUDA toolkit 8.0
  • 下载CuDNN v5.1。
  • 在PATH中设置CUDA_HOME(\ CUDA)和%CUDA_HOME%\ bin。
  • 将cuDNN文件解压缩到一个文件夹,并将该位置(bin,lib,包含文件夹所在的文件夹)也添加到PATH,确保在%PATH%中正确设置了cuDNN DLL。
  • 将相应的文件从cuDNN复制到cuda安装目录中的文件夹(这解决了我的问题): 将cudnn64_5.dll复制到C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v8.0 \ bin。 将cudnn.h复制到C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v8.0 \ include。 将cudnn.lib复制到C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v8.0 \ lib \ x64。
  • 确保我在C:\ Windows \ System32和C:\ Windows \ SysWOW64中有MSVCP140.dll。如果没有从这里下载:https://www.microsoft.com/en-us/download/details.aspx?id=53587并安装它。

我强烈认为这种版本控制在这种情况下有点重要。 我尝试使用失败的cuDNN 6.0。但5.1工作。