繁体   English   中英

tensorflow 过渡到 gpu 版本

[英]tensorflow transition to gpu version

我与 tensorflow 合作了一段时间,一切正常,直到我尝试切换到 gpu 版本。

卸载以前的tensorflow, pip 安装tensorflow-gpu (v2.0) 下载安装visual studio community 2019 下载安装ZA33B7755E5F9B504D2D0308EACA4FF28DNNcu 下载安装

使用 CUDA 样本“deviceQuery_vs2019”进行测试,结果为阳性。 测试通过 Nvidia GeForce rtx 2070

使用以前的工作文件运行测试并得到错误 tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed。 状态:未找到 cudaGetErrorString 符号。

经过一番研究,我发现支持的 CUDA 版本是 10.0,所以我降级了版本,更改了 CUDA 路径,但没有任何改变

使用此代码


import tensorflow as tf
print("Num GPUs Available: ", 
len(tf.config.experimental.list_physical_devices('GPU')))

我明白了

2019-10-01 16:55:03.317232: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2019-10-01 16:55:03.420537: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: 
Num GPUs Available:  1
name: GeForce RTX 2070 major: 7 minor: 5 memoryClockRate(GHz): 1.62
pciBusID: 0000:01:00.0
2019-10-01 16:55:03.421029: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check.
2019-10-01 16:55:03.421849: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
[Finished in 2.01s]

CUDA seems to recognize the card, so does tensorflow, but i cannot get rid of the error: tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed. 状态:未找到 cudaGetErrorString 符号。

我究竟做错了什么? 我应该坚持使用 cuda 10.0 吗? 我错过了一部分安装吗?

已解决,这主要是避免冲突的版本炼金术。 这是我所做的(据我所知,订单很重要)

  1. 卸载一切(tf,cuda,视觉工作室)
  2. pip 安装tensorflow-gpu
  3. 下载并安装 Visual Studio Community 2017(2019 不起作用)
  4. 我还从 Visual Studio 安装了 c++ 工作负载(不确定是否有必要,但它具有所需的编译器 Visual c++ 15.x)
  5. 下载并安装 cuda 10.0(我拥有的是 10.0.130)
  6. go 到系统环境变量(在 windows 栏中搜索它)>高级>单击环境变量...
  7. 创建新的用户变量(不要与系统变量混淆)
  8. 变量名:CUDA_PATH,
  9. 变量值:浏览到cuda目录下到版本目录(我的是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v100)。
  10. 该指南说您需要 cudnn 7.4.1,但我收到一个错误,即预期版本最低为 7.6。 go 到 nvidia 开发人员 cudnn 存档并下载“cudnn v7.6.0 for CUDA 10.0”(确保您获得正确的文件)。 解压,将cudnn文件放入对应的cuda目录(lib、include、bin)。

从那里开始,一切都像魅力一样。 我无法从 Visual Studio (devicequery) 构建 cuda 示例文件,但这不是关键步骤。 几乎每个错误都是由于文件版本不兼容造成的,我花了 3-4 天的时间来确定正确的组合。 希望有所帮助:)

tensorflow-gpu v2.0.0现在可以在conda 上使用,并且很容易安装: conda install -c anaconda tensorflow-gpu 无需额外下载或 cuda 安装。

添加到上面的响应中。 我按照这些步骤操作,效果很好,但我可以确认您不需要从 Visual Studio 安装 c++ 工作负载。

我有类似的问题。 结合我使用 windows 8 和 pycharm 的事实。 但是我最终使用这篇文章想通了。

有效的组合:

  • Cuda 10
  • 适用于 windows7 的 CuDNN 7.6
  • TensorFlow-GPU 2.0
  • 然后如上所述使用路径环境变量。

重要的是设置环境变量后重新启动;)

我不认为 tensorflow 2.2。 将无法使用 cuda 11...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM