Python Tensorflow under Windows 10



我正在尝试在Windows 10下在Python中获得Tensorflow GPU支持。

什么有效;

下载并安装 Python v3.7.3

pip3 install --ignore-installed --upgrade tensorflow
pip3 install --ignore-installed --upgrade scipy

从命令提示符运行 Python,然后键入导入张量流 工作正常,不返回任何错误 我可以在CPU上运行tensorflow Python程序(如果重要的话 https://github.com/cysmith/neural-style-tf)

什么不起作用;

我现在卸载 CPU 张量流并安装 GPU 张量流

pip3 uninstall tensorflow
pip3 install --ignore-installed --upgrade tensorflow-gpu

卸载和安装都完成,没有错误。

我下载并安装了 Cuda 工具包 9.0 和补丁。

我下载并提取 cuDNN 并将相关 DLL 复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 下的文件夹中

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite\oceanFFT.exe 按预期运行,所以我现在假设 Cuda 安装正确

从命令提示符窗口运行 Python

类型导入张量流

失败并出现这些错误...

Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [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:UsersUsernameAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libimp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libimp.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:UsersUsernameAppDataLocalProgramsPythonPython37libsite-packagestensorflow__init__.py", line 24, in <module>
from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libsite-packagestensorflowpython__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow.py", line 74, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libimp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:UsersUsernameAppDataLocalProgramsPythonPython37libimp.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.
>>>

路径在开头有 Cuda 条目,即

PATH=C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0bin;C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0libnvvp;

我尝试卸载 Cuda v9 并尝试了 v8 和最新的 v10。 同样的错误。

任何想法我需要做什么才能让 tensorflow GPU 在 Windows 10 中的 Python 下工作?

在看到一些帖子说不支持 v3.7 后,还尝试了较旧的 Python v3.6.8。

相同的错误

Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [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:UsersUsernameAppDataLocalProgramsPythonPython36libsite-packagestensorflowpythonpywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libimp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libimp.py", line 343, 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:UsersUsernameAppDataLocalProgramsPythonPython36libsite-packagestensorflow__init__.py", line 24, in <module>
from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libsite-packagestensorflowpython__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libsite-packagestensorflowpythonpywrap_tensorflow.py", line 74, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libsite-packagestensorflowpythonpywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libimp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "C:UsersUsernameAppDataLocalProgramsPythonPython36libimp.py", line 343, 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.
>>>

我也回到了Python v3.5.2,安装了tensorflow-gpu并得到了同样的错误......

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Traceback (most recent call last):
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libsite-packagestensorflowpythonpywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libimp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libimp.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:UsersUsernameAppDataLocalProgramsPythonPython35libsite-packagestensorflow__init__.py", line 24, in <module>
from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libsite-packagestensorflowpython__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libsite-packagestensorflowpythonpywrap_tensorflow.py", line 74, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libsite-packagestensorflowpythonpywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libsite-packagestensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libimp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:UsersUsernameAppDataLocalProgramsPythonPython35libimp.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.
>>>

因此,在我疯狂地尝试 Python、Cuda 和 cuDNN 的每个组合希望获得工作匹配之前,是否有任何实际步骤可以安装哪个版本以及完成此操作的顺序?

编辑:我需要/用于制作这项工作的版本是;

已安装的 Python v3.6.4

pip3 install --no-cache-dir --ignore-install --upgrade tensorflow-gpu==1.12.0

pip3 安装 --no-cache-dir --忽略-安装 --升级 scipy

pip3 安装 --no-cache-dir --忽略已安装 --升级 opencv_python-3.4.5-cp36-cp36m-win_amd64.whl

库达 9.0

cuDNN 需要"下载 cuDNN v7.2.1(2018 年 8 月 7 日),适用于 CUDA 9.2">

来自 Tensorflow 安装

视窗设置

请参阅上面列出的硬件要求和软件要求。 阅读适用于 Windows 的 CUDA® 安装指南。

确保安装的 NVIDIA 软件包与版本匹配 上面列出。特别是,TensorFlow 不会在没有 cuDNN64_7.dll文件。若要使用其他版本,请参阅 Windows 内部版本 来自源指南。

也许您没有指定的文件cuDNN64_7.dll

请检查该文件是否存在于 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin 中 其中 9.0 是 CUDA 的版本

实际上,我在Windows 10中可以使用此设置

  • 蟒蛇 3.6.4
  • 张量流 1.12.0
  • 库达 9.0

编辑:一些研究我发现这与该问题有关

搜索 DLL:张量流安装错误

相关问题:

https://github.com/tensorflow/tensorflow/issues/22512

https://github.com/tensorflow/tensorflow/issues/22794

对于所有在Windows 10/Python 3.6.x/RTX20xx下遇到"DLL加载失败"问题的人。

CUDA 10.0(不是 10.1!)、cuDNN 7.5.0 的组合对我来说效果很好(截至 2019 年 4 月 12 日)。我也安装了Visual Studio 2015(但不确定是否需要)。

不要忘记将 cuDNN *.dll 文件的位置(它是 CUDA 目录中的/bin/目录)添加到您的路径中。

如果您有 CUDA 10.1,只需卸载它,安装 10.0,将 cuDNN 文件添加到 10.0 目录,然后重新启动。

Tensorflow可以使用pip install tensorflow-gpu安装

最新更新