笔者在跑训练的时候,用的是tensorflow-gpu==2.6.0,经过查询资料,需要匹配11.2版本的CUDA。
注:
- 查看
本机已安装的CUDA版本的命令行指令:nvcc -V- 查看本机显卡最高支持的
CUDA版本的命令行指令:nvidia-smi
也可以直接打开nvidia控制面板→帮助→系统信息→组件,就可以看到了:
可以看到笔者的显卡驱动是最高支持CUDA11.5版本,所以完全可以支持CUDA11.2
BUT❗️ 笔者电脑已经安装了10.2版本的CUDA,因此需要把现有版本的CUDA卸载,然后重新安装CUDA和CUDnn。
CUDACUDA10.2版本相关的四个程序:NVIDIA CUDA Samples 10.2NVIDIA CUDA Runtime 10.2NVIDIA CUDA Documentation 10.2nvidia cuda dEVELOPMENT 10.2参考:windows下CUDA的卸载以及安装
注:笔者只参考了本文中的卸载部分。
CUDA和CUDnn笔者安装的是CUDA11.2.0版本的CUDA,以及相应版本的CUDnn(官网上Windows系统且CUDA是11.x版本的只对应一个CUDnn,下载它就好啦)
注:安装完成后,用nvcc -V测试是否安装好时,一定要重启命令行!不要在安装之间就已经打开的命令行窗口输入命令,否则你会遇到nvcc不是内部操作的迷之错误中而自我怀疑。当你重新打开命令行,再次输入,就会发现,其实已经安装成功啦

📗Debug经验+1:重启可以解决很多奇怪的问题😆。
这个帖子中可以找到对应版本的TensorFlow:2021最新:TensorFlow各个GPU版本CUDA和cuDNN对应版本整理(最简洁)
由于笔者已经确定要用tensorflow-gpu==2.6.0,因此在对应的虚拟环境中安装:
pip install tensorflow-gpu==2.6.0 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
通过更换清华源,可以更快地下载,避免报错。
安装完成后,检查是否安装成功(即:检查TensorFlow是否可以用gpu了)
python
import tensorflow as tf
tf.config.list_physical_devices('GPU')

📗Debug经验之不要同时安装tensorflow(CPU版本)和tensorflow-gpu(GPU版本),否则,会出现各种错误。
💢pycharm,你怎么回事?
运行代码时,报错Could not load dynamic library ‘...dll‘,一连报一大串,属实难受哇,这个报错让笔者困扰了好久。你如果去搜索,几乎会看到的大部分解决思路无外乎两种:
缺啥补啥的思路告诉你怎么去下载丢失的包。📝笔者的解答:
如果你属于:无法使用gpu,即
CUDA和CUDnn没有安装成功,那应该参考笔者前面提到的步骤,去正规下载!
🙈
注意留意一下CUDnn的安装步骤,因为这一步涉及到替换CUDA的bin目录,而dll文件正保存在此地。
但是!如果你的CUDA和CUDnn已经安装好了,也分两种情况:
CUDA版本不匹配导致的报错:你安装的是CUDA10.X,而报错缺失的动态包是关于CUDA11.x的,那么你就应该卸载重装CUDA和CUDnn(可以参考上方写出的step1~3)。
单纯靠
缺啥补啥逃避卸载是没用的,伙计!因为笔者是过来人,尝试过这种蠢办法😢。
如果CUDA版本没有问题,是完全不用去补.ddl文件的。
你可以去安装好的
CUDA的bin目录,看看是否这些包都已经存在。如果存在,说明你没错。
如果你用cmd在命令行中可以正确使用gpu,那就说明你的操作没问题。这是pycharm自身的锅:它没有能够链接到CUDA的bin路径下
错误思路二:掩耳盗铃
一些帖子教你如何通过设置指令,从而忽略警告。
📝笔者的解答:
笔者看来,这个警告等同于报错,因为它会影响程序能否正常执行)。
良好的正确的环境是成功之基!配置环境这部分重视起来了,代码就成功一半了!千万要好好配置!否则,你会遇到特别特别多奇怪的bug。
📝
翻阅大量资料,读到Anaconda虚拟环境下的PyCharm使用Tensorflow调用GPU出现dll文件缺失的问题和解决办法时,笔者看到了希望👍!这篇文章准确地说 (ma)出了笔者的心声,也为笔者指出了最终解除报错的方法。最终参考的也正是文中作者所参考的帖子:PyCharm DLL load failed的原因和对治方法。
例如:笔者根据自己电脑的情况,打开
anaconda prompt→输入start+pycharm.exe所在路径:start C:\"Program Files"\"NVIDIA GPU Computing Toolkit"\CUDA\v11.2\bin\pycharm64.exe。再次打开就不会出现这个报错了。
晚安~