我已经使用 tensorflow 一段时间了,一切正常,直到我尝试切换到 gpu 版本。
卸载之前的tensorflow,pip 安装tensorflow-gpu (v2.0) 下载安装visual studio community 2019 下载安装CUDA 10.1 下载安装cuDNN
使用 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')))
Run Code Online (Sandbox Code Playgroud)
我明白了
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]
Run Code Online (Sandbox Code Playgroud)
CUDA 似乎识别卡,tensorflow 也是如此,但我无法摆脱错误:tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed。状态:未找到 cudaGetErrorString 符号。
我究竟做错了什么?我应该坚持使用cuda 10.0吗?我错过了安装的一部分吗?
解决了,这主要是为了避免冲突的版本炼金术。这是我所做的(据我所知,顺序很重要)
从那里开始,一切都像魅力一样。我无法从 Visual Studio (devicequery) 构建 cuda 示例文件,但这不是关键步骤。几乎每个错误都是由于文件版本不兼容造成的,我花了 3-4 天的时间来找出正确的组合。希望有所帮助:)
| 归档时间: |
|
| 查看次数: |
8108 次 |
| 最近记录: |