2017-05-20 302 views
2

在尝试验证tensorflow-gpu的安装时,在尝试执行“将tensorflow导入为tf”时,出现ImportError错误。我在Windows 7上使用Quadro K620。使用pip安装Tensorflow。No Module named'_pywrap_tensorflow_internal'

以下是堆栈跟踪:

Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\aagarwal>python 
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AM 
D64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tensorflow as tf 
Traceback (most recent call last): 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_hel 
per 
    return importlib.import_module(mname) 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\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: The specified module could not be found. 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\pywrap_tensorflow.py", line 41, in <module> 
    from tensorflow.python.pywrap_tensorflow_internal import * 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module> 
    _pywrap_tensorflow_internal = swig_import_helper() 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_hel 
per 
    return importlib.import_module('_pywrap_tensorflow_internal') 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\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' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\__init__.py", line 24, in <module> 
    from tensorflow.python import * 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\__init__.py", line 51, in <module> 
    from tensorflow.python import pywrap_tensorflow 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\pywrap_tensorflow.py", line 52, in <module> 
    raise ImportError(msg) 
ImportError: Traceback (most recent call last): 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_hel 
per 
    return importlib.import_module(mname) 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\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: The specified module could not be found. 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\pywrap_tensorflow.py", line 41, in <module> 
    from tensorflow.python.pywrap_tensorflow_internal import * 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module> 
    _pywrap_tensorflow_internal = swig_import_helper() 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag 
es\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_hel 
per 
    return importlib.import_module('_pywrap_tensorflow_internal') 
    File "C:\Users\aagarwal\AppData\Local\Programs\Python\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' 


Failed to load the native TensorFlow runtime. 

See https://www.tensorflow.org/install/install_sources#common_installation_probl 
ems 

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

我已经看过多个其他哪些东西喜欢修正路径堆栈溢出的职位,但我一直没能解决这个问题。

+0

可能重复[无法在Windows 10上导入Tensorflow for GPU](https://stackoverflow.com/questions/43577923/cannot-import-tensorflow-for-gpu-on-windows -10) – aldel

回答

3

我碰到今天同样的问题来了,请切换到cuDNN V5.1库Windows,而不是作为@mickdelaney建议,然后尝试

  1. 检查CUDA的环境设置,通常CUDA的所有设置都已添加到Windows环境中

  2. 将cuDNN的bin,libinclude中的文件分别复制到CUDA的bin,libinclude。通常目录是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA

然后你可以导入张量流并运行你的代码。祝你好运!

1

安装CUDA驱动程序后,您必须下载cuDNN并将其发布。之后,您可以将cudnn64_5.dll复制到PATH。
如果这不起作用,请将cudnn64_5.dll移动到 NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin,然后再试一次。否则,你会遇到一些你看到的错误。

0

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

0

我是中国人,所以我的英语是游泳池,而我的答案是,无论您使用cudnn 7还是6或5,您都必须在复制文件后将dll从cudnn64_x.dll重命名为cudnn64_6.dll。 也许很快,您需要将dll重命名为7或8或9。

算了,写点中文吧,我特么就不明白了为啥TF导入的DLL一定要用cudnn64_6? 难道不能直接写成cudnn64或者cudnn? 反正现在cudnn 7也出来了,难道以后用最新的库都要改改名字吗?