赞
踩
前言
很多研究深度学习的小伙伴的显卡都在3060以上。我目前刚换了3060Ti,觉得跑深度学习没什么问题,但是当我想用tensorflow框架运行深度学习代码的时候,配置环境困扰了我好几天。主要原因是我安装的CUDA版本是11.8官方给出的tensorflow匹配版本是tensorflow2.12或者tensorflow2.13.那么当我安装上tensorflow2.12的时候,发现想用GPU跑代码的时候配置好了但是没有办法用GPU加速。因为现在新版tensorflow已经取消了GPU和CPU版本的区别,所以网上关于新版tensorflow>2.0的教程很少,一般都是旧版本(tensorflow-gpu版本)。今天终于把这个问题解决了,过程如下,希望可以帮助到大家!
一、测试一下自己能不能使用GPU
①在自己的python控制台中输入一下命令
- import tensorflow as tf
- print(tf.test.is_built_with_cuda())
- print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
我的输出结果是
- False
- Num GPUs Available:0
在这里可以使用下边的这段代码检查(这段代码可以报错,知道问题在哪):
- 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)
二、问题列表及解决办法
问题①:找不到GPU/可用数量为0(我上述的情况)
问题原因:在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
这段话讲的就是tensorflow2.10版本是最后一个在本机Windows上支持GPU的版本。换句话说如果想在tensorflow框架下在Windows中使用GPU运行程序,最高版本只能安装2.10
解决办法
首先是检查电脑的显卡驱动,CUDA,cuDNN工具的版本是否对应,并设置好了环境变量;
其次只要uninstall你的tensorflow并下载安装tensorflow2.10版本的就行啦
pip install tensorflow==2.10.0
安装完tensorflow2.10,我再次检测是否有可用的GPU,则显示我已经检测到:
问题②: 在更换版本之后,可能会出现tensorflow_intel和其他的安装包冲突。报错为缺少.dll文件,例如:
Could not load dynamic library ‘cudart64_101.dll’; dlerror: cudart64_101.dll not found
当然每个人的情况不一样,就导致每个人可能缺少的文件不同。
解决办法:
a. 例如我缺少curpase64_11.dll文件,我就在我curpase64这个文件夹下搜索“curpase”,发现有一个curpase64_12.dll文件,则将这个文件复制一份并将12改为11即可
b. 如果搜索发现没有同前缀名的文件,就去万能的dll网站下载。网址:Download missing DLL files for free | DLL‑files.com (dll-files.com)
到此为止,我们的CUDA11.8找不到可用的GPU的问题结束。
(2023年10月14日21:44:43更新)
=========================================================================
问题②详细的解决办法在这篇博文中,可供大家参考http://t.csdnimg.cn/kr4p2
(2023年10月16日15:32:24更新)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。