Версия графического процессора TensorFlow 1.3 не работает в Windows 7

Я новичок в машинном обучении и пытаюсь настроить среду Python TensorFlow с помощью Anaconda. Однако я столкнулся с распространенной проблемой «Нет модуля с именем« pywrap_tensorflow_internal »».

>>> import tensorflow as tf
Traceback (most recent call last):
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_
tensorflow_internal.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Anaconda3\envs\tensorflow\lib\importlib\__init__.py", line 126, in im
port_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 985, in _gcd_import
  File "<frozen importlib._bootstrap>", line 968, in _find_and_load
  File "<frozen importlib._bootstrap>", line 957, 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 938, 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:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_
tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_
tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_
tensorflow_internal.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Anaconda3\envs\tensorflow\lib\importlib\__init__.py", line 126, in im
port_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:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\__init__.py",
line 24, in <module>
    from tensorflow.python import *
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\__init_
_.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_
tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_
tensorflow_internal.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Anaconda3\envs\tensorflow\lib\importlib\__init__.py", line 126, in im
port_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 985, in _gcd_import
  File "<frozen importlib._bootstrap>", line 968, in _find_and_load
  File "<frozen importlib._bootstrap>", line 957, 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 938, 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:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_
tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_
tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_
tensorflow_internal.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Anaconda3\envs\tensorflow\lib\importlib\__init__.py", line 126, in im
port_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'

Несмотря на то, что это та же ошибка, что и многие другие присутствующие вопросы, похоже, ни одно из решений не работает. У меня установлено MSVCP140.DLL и указано в моем %PATH%, и я запускаю его на Python 3.5. Я считаю, что проблема заключается в CUDA, поскольку эта проблема не возникает, когда я запускаю версию TensorFlow для ЦП.

Однако мне было трудно понять, что не так с моей настройкой CUDA. Я установил CUDA 8 и cuDNN v5.1. Вот как выглядит моя папка установки CUDA. cuDNN — это просто файлы, извлеченные из архива cuDNN.

Кроме того, вот соответствующие части моего my %PATH%:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\cudaNN\bin\cudnn64_5.dll;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\cudaNN\include\cudnn.h;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\cudaNN\lib\x64\cudnn.lib;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\lib;
C:\Windows\System32\msvcp140.dll;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64;
C:\Windows\SysWOW64\msvcp140.dll;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp;

Я абсолютно не знаю, что не так с моей настройкой, поэтому любая помощь будет принята с благодарностью.


person Lexinyaas    schedule 18.08.2017    source источник


Ответы (1)


Если вы установили версию TensorFlow 1.3 для графического процессора (которая была выпущена вчера), для выпущенного пакета PIP требуется cuDNN 6. Вы можете установить его с веб-сайта NVIDIA. Убедитесь, что каталог, содержащий файл cudnn64_6.dll, включен в вашу переменную среды %PATH%.

person mrry    schedule 18.08.2017
comment
Интересно, что в руководстве по tensorflow сказано, что нужно использовать только cuDNN 5.1, но я попробую использовать cuDNN 6 при новой установке. Я надеюсь, что это работает - person Lexinyaas; 18.08.2017
comment
Действительно, в руководстве по TF 1.3 есть ошибка, а у меня pull request решил исправить. В примечаниях к выпуску TF 1.3 упоминается изменение использования cuDNN 6 в готовых двоичные файлы. - person mrry; 18.08.2017
comment
Обновление: это сработало! Большое спасибо за помощь. Интересно, почему в инструкциях по установке сказано использовать версии cuDNN, которые не работают? - person Lexinyaas; 18.08.2017
comment
спасибо, я искал часы и не мог заставить его работать - person chris; 01.09.2017