首页 » Windows » windows安装TensorFlow gpu版本时候的bug;No module named "_pywrap_te

windows安装TensorFlow gpu版本时候的bug;No module named "_pywrap_te

原文 http://blog.csdn.net/LOVE_CODE_LOVE_LIFE/article/details/77160345

2017-08-14 14:20:12阅读(649)

安装TensorFlow时候只要按照官方文档(windows" target="_blank">点击打开链接)一步一步的的走大致没有其他问题,但是在运行文档给出的示例时候会出现一下bug,

import tensorflow as tf
Traceback (most recent call last):
  File "D:\Program Files\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "D:\Program Files\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 906, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: 找不到指定的模块。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "D:\Program Files\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "D:\Program Files\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "D:\Program Files\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "D:\Program Files\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'
在debug的时候找了两篇文档(博客一  博客二 )都提到了相关问题,说法也一样,但是他们的说法都不完全正确,结合官方文档中的FAQ,在这里给出相对完善的解决思路:

1. 在按照官方文档安装cuDNN的过程中有如下步骤:

Copy the following files into the CUDA Toolkit directory.
a) Copy <installpath>\cuda\bin\cudnn64_7.dll to C:\Program Files
\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin.
b) Copy <installpath>\cuda\ include\cudnn.h to C:\Program Files
\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include.
c) Copy <installpath>\cuda\lib\x64\cudnn.lib to C:\Program Files
\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64.
在完成之后一定要将放有以上三个文件的文件夹加入到系统变量CUDA_PATH 和path中去;(这是以上两篇博客和官方文档在开头强调的,但是人会报错);重启命令行。

2. 这一点比较隐藏,由于部分版本更新导致文件命名可能不是同一,一定要将cudnn64_7.dll 改成cudnn64_5.dll。因为TensorFlow原来支持的是5.1版本。具体解释看Stack Overflow(点击打开链接)中第二个回答部分。重启命令行。

3. 当然可能还有其他更多原因。可以看看2步中其他的回答或是其他博客。


最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹