最近换了新电脑,显卡是4060,就觉得跑深度学习没什么问题,结果tensoflow配置好后用不了GPU加速,让我头疼了很久。因为现在tensorflow新版已经取消了gpu和cpu版本的区别,所以网上关于统合版tensorflow (>2.0)的教程很少,一般都是tensorflow_gpu版本。今天终于解决了,如果有遇到以下问题的同学们可以参考一下:
用来测试自己能否使用GPU
import tensorflow as tf
print(tf.test.is_built_with_cuda())
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
下面的代码可以报错,让你知道问题在哪,推荐先使用下面这段代码:
import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
cpus = tf.config.experimental.list_physical_devices(device_type='CPU')
print(gpus, cpus)
首先是显卡驱动,CUDA toolkit ,cuDNN工具的安装,需要按照自己的CUDA版本和显卡配置去安装,首先检查这三个,并设置好环境变量PATH。
在英文版的tensorflow官网主页有一条额外
的注释:
Caution: TensorFlow 2.10 was the last TensorFlow release that supported GPU on native-Windows.Starting with TensorFlow 2.11, you will need to install TensorFlow in WSL2 or install tensorflow-cpu and , optionally, try the TensorFlow-DirectML-Plugin
省流:本地windows目前只支持2.10.0及以下版本!!(如果要使用GPU的话)
所以只要uninstall你的tensorflow并且下载这个版本就行啦
pip install tensorflow==2.10.0
Could not load dynamic library ‘cudart64_101.dll’; dlerror: cudart64_101.dll not found
上面的dll文件名可能有所不同,可能是curpase什么的,先在你的cuda toolkit文件夹的bin中搜索该dll的前半部分。
例如我缺少curpase64_11.dll 我搜索该文件夹下curpase64发现有curpase64_12.dll文件,则将这个文件复制并将12改成11.
若搜索发现没有同前缀文件,就去万能dll网站下载
到此本人的问题解决
[1]https://blog.csdn.net/qq_38563206/article/details/121106374
[2]https://blog.csdn.net/bragen/article/details/129131278