在keras中使用gpu加速训练模型,如何安装cuda,cudnn,解决cudnn_cnn_infer64_8.dll 不在path中,解决device_lib.list_local_devices()中无gpu,解决jupyter使用gpu训练总是挂掉的等问题
全网最全!!!亲自踩坑
首先打开任务管理器,查看自己电脑是否存在gpu
![在这里插入图片描述](https://img-blog.csdnimg.cn/dc1a9096cd0d4f6ebf3d4013e1f47776.png)
1、安装tensorflow-gpu
Pip install tensorflow-gpu==2.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple --user
注意,以前安装的tensorflow默认是cpu版的,所以我们下载这个是gpu版的,注意版本得和tensorflow一致(网上说要在tensorflow安装之后安装tensorflow-gpu)
2、安装keras (先安装keras的话,安装tensorflow会把karas安装到一致的版本)
3、安装CUDA
首先在命令行输入 NVIDIA-smi,查看自己的gpu,驱动版本,CUDA版本 ![在这里插入图片描述](https://img-blog.csdnimg.cn/77f0a8ad563343e891d7395c9448b756.png)
打开网址 https://developer.nvidia.com/cuda-toolkit-archive 按照以下表格安装对应的CUDA版本(我的11.5是已经下载好的),下载exe ![在这里插入图片描述](https://img-blog.csdnimg.cn/363ccf69a7ec42e8b96c172fbd9a050e.png)
下载这个东西,然后双击下载好的东西 注意:在装CUDA时选择自定义安装,取消“Visual Studio”这一项就可以了(大概在第一个下面) ![在这里插入图片描述](https://img-blog.csdnimg.cn/1856be1a04cf4c29923d97e47bab091c.png)
4、安装cudnn
在这个网址,下载对应的cudnn:[https://developer.nvidia.com/rdp/cudnn-archive](https://developer.nvidia.com/rdp/cudnn-archive)
比如我下载的就是这个 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b0687b9c356c44ebb2cf640fe18fd1a5.png)
将下载好的压缩包解压,然后只需要把下载后的压缩文件解压缩,分别将cuda/include、cuda/lib、cuda/bin三个目录中的内容拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5对应的include、lib、bin目录下即可。
5、添加环境变量
把安装的CUDA的bin目录和libnvvp加到path环境中
![在这里插入图片描述](https://img-blog.csdnimg.cn/73ceb8a9eb1e49e988c52f1ffb0a3eab.png)
6、测试代码
首先用以下代码,查看自己的设备信息
from tensorflow.python.client import device_lib
def get_available_gpus():
local_device_protos = device_lib.list_local_devices()
print(local_device_protos)
return [x.name for x in local_device_protos if x.device_type == 'GPU']
get_available_gpus()
![在这里插入图片描述](https://img-blog.csdnimg.cn/b3f28c30d32544d0928bee134ecd38f1.png)
如果弄好之后运行jupyter文件,每次都挂掉了,打开jupyter的命令行窗口查看,是否存在 Please make sure cudnn_cnn_infer64_8.dll is in your library path! 这句话,如果存在,首先检查自己的环境变量中是否在path中添加了这两个,没有的话添加进去 ![在这里插入图片描述](https://img-blog.csdnimg.cn/3f68ec272b624288a3ff89c44ccb1694.png)
如果添加了还是这种情况,那么就是电脑中没有zlibwapi.dll文件。 打开这个网址 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-zlib-windows ![在这里插入图片描述](https://img-blog.csdnimg.cn/be4b6101042f45d781d47bcc139cb104.png)
点击安装这个,解压下载的压缩包,打开dll_x64文件夹 ![在这里插入图片描述](https://img-blog.csdnimg.cn/699df2c7487e48a5b21d2ea19f27ec5a.png)
复制这个dll文件,将它复制到C:\Windows\System32目录下,重新启动jupyter,发现已经可以运行了
注意:multi_gpu_model这个方法是多个gpu运行才需要指定的,单个gpu直接开跑即可
参考文章: https://blog.csdn.net/fun_always/article/details/103357840 https://www.jianshu.com/p/9bdeb033e765 https://blog.csdn.net/weixin_44704985/article/details/109500188 https://blog.csdn.net/qq_46126258/article/details/112708781
|