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

时间:2019-05-18 16:40:58

标签: python python-3.7 tensorflow2.0

我已经按照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

我的设置如下:

  • Windows 10
  • AMD 2700X CPU
  • Nvidia RTX 2080 GPU
  • Python 3.7(64位)
  • CUDA工具包10.0
  • CUDAnn 7.5.1(用于CUDA 10.0)

我的用户范围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上运行,而且速度很慢!

双重问题:

  • 我如何才能使tensorflow 2.0在GPU而不是CPU上工作?
  • 我的设置是否适用于tensorflow 2.0 GPU?

2 个答案:

答案 0 :(得分:2)

通过与我在原始帖子中描述的设置完全相同的设置,我能够解决我的问题,但是使用了Python 3.6 ,而不是3.7。所有其他变量保持不变。

我从Visual Studio 2019的全新环境开始,并运行以下导入:

pip install tensorflow-gpu==2.0.0-alpha0

然后,我能够在CPU和GPU上运行代码。我通过运行确认GPU可用于张量流:

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。

问题解决了!

答案 1 :(得分:1)

新GPU?几个星期前遇到了同样的问题。花了我几个小时才能找到问题。这里有一些想法:

从2019年4月开始,我通过安装CUDA 10.0解决了Windows 10 / Python 3.6.x / GPU RTX 20xx下的“ DLL加载失败”问题(不是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(从1.13.1版开始)。 TF 2.0应该以相同的方式工作。您的问题似乎与CUDA有关。但是,如果没有特定原因需要TF 2.0,我会选择标准安装。