在keras中使用gpu加速训练模型;安装cuda;cudnn;cudnn

在keras中使用gpu加速训练模型;安装cuda;cudnn;cudnn,第1张

keras中使用gpu加速训练模型,如何安装cuda,cudnn,解决cudnn_cnn_infer64_8.dll 不在path中,解决device_lib.list_local_devices()中无gpu,解决jupyter使用gpu训练总是挂掉的等问题 全网最全!!!亲自踩坑

首先打开任务管理器,查看自己电脑是否存在gpu

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://developer.nvidia.com/cuda-toolkit-archive
按照以下表格安装对应的CUDA版本(我的11.5是已经下载好的),下载exe

下载这个东西,然后双击下载好的东西
注意:在装CUDA时选择自定义安装,取消“Visual Studio”这一项就可以了(大概在第一个下面)

4、安装cudnn
在这个网址,下载对应的cudnn:[https://developer.nvidia.com/rdp/cudnn-archive](https://developer.nvidia.com/rdp/cudnn-archive)

比如我下载的就是这个

将下载好的压缩包解压,然后只需要把下载后的压缩文件解压缩,分别将cuda/include、cuda/lib、cuda/bin三个目录中的内容拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5对应的include、lib、bin目录下即可。

5、添加环境变量
把安装的CUDA的bin目录和libnvvp加到path环境中

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()

如果没有gpu说明安装的cuda版本不对,找不到电脑的gpu,需要在控制面板里面把CUDA开头的之前安装的版本的文件都卸载,再把C:\Program
Files\NVIDIA GPU Computing Toolkit全部删除,重复以上步骤安装对应的CUDA版本

如果以上代码运行发现有gpu了,说明版本没错,现在可以测试一下自己的代码了,通过一下代码指定使用gpu进行训练,直接开跑即可

如果弄好之后运行jupyter文件,每次都挂掉了,打开jupyter的命令行窗口查看,是否存在
Please make sure cudnn_cnn_infer64_8.dll is in your library path!
这句话,如果存在,首先检查自己的环境变量中是否在path中添加了这两个,没有的话添加进去

如果添加了还是这种情况,那么就是电脑中没有zlibwapi.dll文件。
打开这个网址
https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-zlib-windows

点击安装这个,解压下载的压缩包,打开dll_x64文件夹

复制这个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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1330077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存