错误情况:
一、前期准备
(1)tensorflow、cuda和cudnn安装
网上有很多教程,个人觉得,这一篇很详细https://blog.csdn.net/weixin_42555080/article/details/100704078
另外建议大家提前安装好anaconda,在conda虚拟环境中可以很方便的切换python版本,以及下载安装包。
本处因为tensorflow版本为GPU版2.9.1并且系统为win11,所以应该安装cuda版本为11.2,具体版本对应查看官网,链接为https://tensorflow.google.cn/install/source_windows?hl=en#gpu,通过操作,查看显卡驱动所能支持的最高cuda版本为11.6,具体操作方式查看链接https://blog.csdn.net/weixin_43522055/article/details/99595641
注意,cuda部分高版本是向下兼容的,具体是否兼容你需要的版本自行查阅。因为本电脑为win11系统,所以只能下载11.5版本,向下兼容11.2,对应去下载cudnn的版本。
版本一定要下载正确!!!
另外,提前安装好VS,可以解决很多安装cuda和cudnn时会出现的问题。
二、问题发现
安装好之后我们运行代码hello = tf.constant('hello')可以发现出现很多错误提示,显示**.dill文件找不到。或者我们使用以下代码去尝试是否能够通过tensorflow-gpu去读取我们的显卡:
import tensorflow as tf
if tf.test.gpu_device_name():
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF")
同样也会报错确实一些dill文件。
三、解决问题
本处有两种解决办法:
(1)去官网下载对应dill文件并且移动到C盘Sysytem32文件夹中。
缺点是有些dill文件可能会找不到,另外文件下载速度有些较慢,我的尝试过程中不能同时下载,官网必须下载完一个再下载另一个。官网地址为:https://www.dll-files.com/cudart64_110.dll.html
(2)在cuda文件夹bin中找到对应dill文件并且复制到C盘System32文件夹中。以文件cublasLt64_11为例,具体操作如下:
四、所得结果
所有缺失dill文件都解决后,显示如下:
说明能够正确读取到显卡。