Win10 Tensorflow-gpu 2.4.1 + CUDA 11.3 + cuDNN 8.2.1 环境配置踩巨坑三条

一、Not creating XLA devices, tf_xla_enable_xla_devices not set

原因:Tensorflow==gpu 2.4.1版本新特性

方法:这行警告可以忽略,因为2.4.1的版本release介绍:

XLA:CPU and XLA:GPU devices are no longer registered by default.Use

 TF_XLA_FLAGS=--tf_xla_enable_xla_devices  

if you really need them,but this flag will eventually be removed in subsequent releases.

二、Could not load dynamic library 'cusolver64_10.dll'; dlerror: cusolver64_10.dll not found.

原因:打开此电脑,在D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin中(我是装在了D盘,默认是装在C盘相同位置),搜索cusolver64_10.dll,你会发现搜不到,我寻思着CUDA版本都11了,应该是cusolver64_11.dll才对,我于是又搜了一下,果真有这个文件。大哥,我都11了,不是10,你还要10,怎么可能还会有属于版本10里的cusolver64_10.dll呢?但是没办法啊,它就要这个名字,于是,我把这个cusolver64_11.dill文件重命名为cusolver64_10.dll,重新试了一遍,成功了。

方法:把搜到的cusolver64_11.dill文件重命名为cusolver64_10.dll

三、Could not load dynamic library'cudart64_110.dll'; dlerror: cudart64_110.dll not found.

这是我一开始遇到的问题,去到CUDA的bin目录中(同上)去搜索找到了,但是此时还是不能加载这个dill文件,此时我想到:

原因:环境变量问题(因为我之前下载过其他版本的CUDA,所以新的环境变量path里面并没有更新)

方法:需要手动修改,将D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin以及D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\libnvvp添加到系统变量里的path,上移到最上面,成功加载。如果有 没有找到cudart64_110.dll的问题,请看第二点,与之类似修改。

四、如何测试是否成功调用GPU?

方法:win+R,输入cmd,打开终端,切换到你的环境(我的是anaconda下的创建的环境:conda activate XX),输入python,输入import tensorflow as tf,输入tf.test.is_gpu_available()(或者tf.config.list_physical_devices('GPU')),如果结果为True,则成功调用

猜你喜欢

转载自blog.csdn.net/YIBO0408/article/details/117740540