Tensorflow无法调用GPU,报错Could not load dynamic library ‘cudart64_100.dll‘‘cublas64_100.dll‘...

首先 import tensorflow是没有报错的

执行如下代码查看可调用的设备列表是否包含gpu:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

报错一大堆:

2020-09-08 18:48:21.805969: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Could not load dynamic library 'cudart64_100.dll'; dlerror: cublas64_100.dll not found
2020-09-08 18:48:21.807845: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cublas64_100.dll'; dlerror: cublas64_100.dll not found
2020-09-08 18:48:21.809707: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cufft64_100.dll'; dlerror: cufft64_100.dll not found
2020-09-08 18:48:21.811310: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'curand64_100.dll'; dlerror: curand64_100.dll not found

...

Tensorflow无法调用GPU,报错Could not load dynamic library ‘cudart64_100.dll‘‘cublas64_100.dll‘...

看似我一切准备就绪(tensorflow-gpu1.15、CUDA10.0、CUDNN7.6一路过关斩将),结果陪我的仍旧只有CPU

刚开始以为是缺少这些.dll(貌似叫动态链接库文件),可我在电脑CUDA安装路径\bin下,发现dll文件非常的齐全

Tensorflow无法调用GPU,报错Could not load dynamic library ‘cudart64_100.dll‘‘cublas64_100.dll‘...

至此,怀疑是环境变量配置失败,反复反复反复检查后又陷入自闭模式...

查了度娘,被告知环境变量似乎不支持dll文件(凭什么只伤害我!!)

Tensorflow无法调用GPU,报错Could not load dynamic library ‘cudart64_100.dll‘‘cublas64_100.dll‘...

Fine,我用cmd测试一下,果然同目录下的.exe文件可以完美找到

Tensorflow无法调用GPU,报错Could not load dynamic library ‘cudart64_100.dll‘‘cublas64_100.dll‘...

最后找到了解决办法:

手动将所有.dll文件复制到C:\Windows\System下

配置环境出错实在是痛苦,害,又浪费半个下午,可得记下来!

Tensorflow无法调用GPU,报错Could not load dynamic library ‘cudart64_100.dll‘‘cublas64_100.dll‘...