在 python3.7 中使用 tensorflow-gpu 2.0.0-alpha0 时出错

Error when using tensorflow-gpu 2.0.0-alpha0 in python3.7

我已经完全按照 tensorflow's website 上显示的说明进行操作,但是在 python 中尝试导入 tensorflow 时仍然出现以下错误:

Traceback (most recent call last):
File "C:\Users\redacted\source\Repos\TFTest1\TFTest1\tf2-gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module> from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Users\redacted\source\Repos\TFTest1\TFTest1\tf2-gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>     _pywrap_tensorflow_internal = swig_import_helper()
File "C:\Users\redacted\source\Repos\TFTest1\TFTest1\tf2-gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper     _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\imp.py", line 242, in load_module     return load_dynamic(name, filename, file)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\imp.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.

当我运行以下代码时抛出

import tensorflow as tf

我的设置如下:

我的用户范围 PATH 环境变量中有以下内容:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
C:\tools\cuda\bin

然后我可以通过 运行在命令行中执行以下命令来确认 CUDA 已正确安装:

nvcc -V

这显示了我

nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2018 NVIDIA
Corporation Built on Sat_Aug_25_21:08:04_Central_Daylight_Time_2018
Cuda compilation tools, release 10.0, V10.0.130

我正在使用 Visual Studio 2019 到 运行 新虚拟环境中的 python 脚本(使用 python 版本 3.7)。在那个环境中,我有 运行 以下命令:

pip install tensorflow-gpu==2.0.0-alpha0

它安装了各种包,在那个环境中我得到了上述错误。

作为旁注,我的脚本 运行 在仅使用 CPU tensorflow 时就很好。在添加了软件包 pip install tensorflow==2.0.0-alpha0 的 python 3.7 环境中,一切正常,但它在我的 CPU 上 运行ning,速度很慢!

双重问题:

新GPU?几周前遇到了同样的问题。我花了几个小时才找到问题。以下是一些想法:

截至 2019 年 4 月,我通过安装 CUDA 10.0 (不是 10.1 或 9.x!!!) 与 cuDNN 7.5.0。我还安装了 Visual Studio 2015。

确保它的 CUDA 10.0!!将来自 cuDNN 的文件放在 CUDA 安装的相应目录中。不要忘记将 cuDNN *.dll 文件的位置(CUDA 安装的 /bin/ 文件夹)添加到 PATH(win 环境变量)。

可以使用 pip install tensorflow-gpu 安装 Tensorflow(截至 4 月版本 1.13.1)。 TF 2.0 应该以同样的方式工作。您的问题似乎与 CUDA 有关。但是,如果没有特定原因需要 TF 2.0,我会选择标准安装。

能够解决我的问题,方法是使用与我在原始 post 中描述的完全相同的设置,但 使用 Python 3.6 而不是 3.7。所有其他变量保持不变。 (感谢 Peter 帮助找到答案!)

我在 Visual Studio 2019 年开始了一个全新的环境,运行 导入了以下内容:

pip install tensorflow-gpu==2.0.0-alpha0

然后我能够 运行 我的代码在 CPU 和 GPU 上。我通过 运行ning:

确认 GPU 可用于 tensorflow
from tensorflow.python.client import device_lib

print(device_lib.list_local_devices())

显示

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 18233115335171708614
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 6588081767
locality {
  bus_id: 1
  links {
  }
}
incarnation: 12253248400045769946
physical_device_desc: "device: 0, name: GeForce RTX 2080, pci bus id: 0000:1d:00.0, compute capability: 7.5"
]

我还可以看到 CPU 使用率为 25%,使用任务管理器时 GPU 使用率为 10%。我想我的神经网络有点线性,还不能真正充分利用 GPU。

问题已解决!