#windows #tensorflow #installation
#Windows #tensorflow #установка
Вопрос:
Я пытаюсь установить TensorFlow с поддержкой GPU в Windows 10, но при импорте я получаю сообщение об ошибке (показано ниже). Версия CPU работает нормально.
У меня есть
- устанавливается
tensorflow-gpu
через pip - обновлены драйверы NVidia для моего GTX 1050 с помощью GeForce Experience
- установлен CUDA 10.1 с помощью сетевого установщика NVidia
- установлен cuDNN 7.5.0.56, заботясь о копировании каждого файла в нужную папку CUDA
- установил TensorRT 5.1.2.2 с помощью zip-метода и снова скопировал соответствующие библиотеки DLL в CUDA
Это ошибка:
> python
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Traceback (most recent call last):
File "C:UsersuserAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:UsersuserAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:UsersuserAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:UsersuserAppDataLocalProgramsPythonPython37libimp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:UsersuserAppDataLocalProgramsPythonPython37libimp.py", line 342, in load_dynamic
return _load(spec)
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 "<stdin>", line 1, in <module>
File "C:UsersuserAppDataLocalProgramsPythonPython37libsite-packagestensorflow__init__.py", line 24, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "C:UsersuserAppDataLocalProgramsPythonPython37libsite-packagestensorflowpython__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:UsersuserAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow.py", line 74, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:UsersuserAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:UsersuserAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:UsersuserAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:UsersuserAppDataLocalProgramsPythonPython37libimp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:UsersuserAppDataLocalProgramsPythonPython37libimp.py", line 342, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions. Include the entire stack trace
above this error message when asking for help.
Моя переменная среды PATH (я удалил все записи, не принадлежащие Microsoft и NVidia):
> echo $env:PATH.Split(';')
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.1bin
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.1libnvvp
C:Program FilesMicrosoft MPIBin
C:WINDOWSsystem32
C:WINDOWS
C:WINDOWSSystem32Wbem
C:WINDOWSSystem32WindowsPowerShellv1.0
C:WINDOWSSystem32OpenSSH
C:Program FilesMicrosoft SQL Server130ToolsBinn
C:Program Filesdotnet
C:Program Files (x86)dotnet
C:Program Files (x86)NVIDIA CorporationPhysXCommon
C:Program FilesNVIDIA CorporationNsight Compute 2019.1
C:Program FilesNVIDIA CorporationNVIDIA NvDLISR
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.1extrasCUPTIlib64
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.1include
C:Program FilesTensorRT-5.1.2.2lib
C:Program FilesTensorRT-5.1.2.2bin
C:toolscudabin
TensorRT установлен в C:Program FilesTensorRT-5.1.2.2
.
Содержимое папки CUDA bin
:
PS C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.1bin> ls
Directory: C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.1bin
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 18/04/2019 12:39 crt
-a---- 09/02/2019 06:57 202752 bin2c.exe
-a---- 09/02/2019 06:57 74850816 cublas64_10.dll
-a---- 09/02/2019 06:57 36055552 cublasLt64_10.dll
-a---- 09/02/2019 06:57 374272 cuda-memcheck.exe
-a---- 09/02/2019 06:57 4320256 cudafe .exe
-a---- 09/02/2019 06:57 339968 cudart32_101.dll
-a---- 09/02/2019 06:57 408064 cudart64_101.dll
-a---- 18/04/2019 15:19 392566784 cudnn64_7.dll
-a---- 09/02/2019 06:57 115644416 cufft64_10.dll
-a---- 09/02/2019 06:57 225792 cufftw64_10.dll
-a---- 09/02/2019 06:57 4785664 cuinj64_101.dll
-a---- 09/02/2019 06:57 2074624 cuobjdump.exe
-a---- 09/02/2019 06:57 49030656 curand64_10.dll
-a---- 09/02/2019 06:57 171052032 cusolver64_10.dll
-a---- 09/02/2019 06:57 87930368 cusparse64_10.dll
-a---- 09/02/2019 06:57 285184 fatbinary.exe
-a---- 09/02/2019 06:57 1323008 gpu-library-advisor.exe
-a---- 09/02/2019 06:57 233472 nppc64_10.dll
-a---- 09/02/2019 06:57 10049024 nppial64_10.dll
-a---- 09/02/2019 06:57 3719680 nppicc64_10.dll
-a---- 09/02/2019 06:57 1003008 nppicom64_10.dll
-a---- 09/02/2019 06:57 7227904 nppidei64_10.dll
-a---- 09/02/2019 06:57 46016512 nppif64_10.dll
-a---- 09/02/2019 06:57 24603136 nppig64_10.dll
-a---- 09/02/2019 06:57 5848064 nppim64_10.dll
-a---- 09/02/2019 06:57 17426944 nppist64_10.dll
-a---- 09/02/2019 06:57 194560 nppisu64_10.dll
-a---- 09/02/2019 06:57 2610688 nppitc64_10.dll
-a---- 09/02/2019 06:57 8202240 npps64_10.dll
-a---- 09/02/2019 06:57 247296 nvblas64_10.dll
-a---- 09/02/2019 06:57 384000 nvcc.exe
-a---- 09/02/2019 06:57 310 nvcc.profile
-a---- 09/02/2019 06:57 22919168 nvdisasm.exe
-a---- 09/02/2019 06:57 149298688 nvgraph64_10.dll
-a---- 18/04/2019 16:46 131539456 nvinfer.dll
-a---- 18/04/2019 16:46 3663360 nvinfer_plugin.dll
-a---- 09/02/2019 06:57 5960192 nvlink.exe
-a---- 18/04/2019 16:46 4457472 nvonnxparser.dll
-a---- 18/04/2019 16:46 2447872 nvparsers.dll
-a---- 09/02/2019 06:57 4243456 nvprof.exe
-a---- 09/02/2019 06:57 221696 nvprune.exe
-a---- 09/02/2019 06:57 4580352 nvrtc-builtins64_101.dll
-a---- 09/02/2019 06:57 15659520 nvrtc64_101_0.dll
-a---- 09/02/2019 06:57 53 nvvp.bat
-a---- 09/02/2019 06:57 5838336 ptxas.exe
И содержимое C:tools
:
PS C:tools> tree /F
Folder PATH listing
Volume serial number is 6A54-3EA7
C:.
└───cuda
│ NVIDIA_SLA_cuDNN_Support.txt
│
├───bin
│ cudnn64_7.dll
│
├───include
│ cudnn.h
│
└───lib
└───x64
cudnn.lib
Комментарии:
1. Вы пробовали ссылку ?
2. @user1410665 Да. Некоторые исправили это, используя Anaconda, которую я не хочу использовать, или устанавливая определенные версии библиотек, но поскольку с тех пор TensorFlow изменил версии, цифры больше не верны. Я надеялся, что у кого-нибудь будет лучшее решение, чем пробовать все возможные комбинации версий вручную.
Ответ №1:
Проблема заключалась в том, что я установил CUDA 10.1 вместо 10.0. TensorFlow еще не совместим с 10.1.
Ответ №2:
Да, некоторые версии TensorFlow не поддерживают CUDA 10.1, в этом случае CUDA 10.0 или более поздней версии решит вашу проблему.
Ответ №3:
Вот как я решил эту проблему, если вы используете pip или pip3, у вас меньше шансов на успех в первый раз.
- Удалите Python, CUDA, CuNN, Tensorflow-gpu (если вы уже установили)
- Установите ANACONDA или MINICONDA
- Откройте приглашение ANACONDA и выполните следующую команду:
conda create —name tf_gpu тензорный поток-gpu
- Это создаст среду tf_gpu, в которой будут установлены все совместимые версии Python, CUDA, CuNN и Tensorflow
- после установки всех пакетов откройте приглашение ANACONDA и введите следующую команду
conda активирует tf_gpu
- Это изменит среду conda ‘(base)’ на ‘(tf_gpu)’
- Затем введите python как обычно, чтобы активировать приглашение python
- Если вы хотите деактивировать среду ‘tf_gpu’
conda деактивировать