tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决

cuda+cudnn安装教程转载

一、背景

项目需要使用tensorflow进行LSTM神经网络模型的训练,选择的tensorflow的版本为1.15.0(在1.15.0版本,想要使用gpu还得下载tensorflow-gpu 1.15.0),想用使用gpu加速,首先要检查自己的显卡型号,是否支持gpu,一般而言,NVIDA显卡都能gpu加速,还得看自己显卡型号最高支持什么版本的cuda,具体可以通过NVIDA控制面板查看,系统信息——组件——NVCUDA64.DLL,可知最高支持cuda11.4。
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第1张图片
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第2张图片

二、安装cuda

首先想使用tensorflow的gpu加速,要确保tensorflow与cuda与cudnn之间版本对应一致,具体对应表如下:
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第3张图片
我所使用的是tensorflow 1.15.0 所以要选择cuda 10.0 大家可去官网自行下载,以防官网下载速度太慢,我把cuda10.0与其对应的cudnn分享在下面,要的可以自取:
链接:https://pan.baidu.com/s/140GG97NGPY7FA1g4asklrQ
提取码:hute

安装cuda时,第一次会让设置临时解压目录,第二次会让设置安装目录;
临时解压路径,建议默认即可,也可以自定义。安装结束后,临时解压文件夹会自动删除;
安装目录,建议默认即可;
注意:临时解压目录千万不要和cuda的安装路径设置成一样的,否则安装结束,会找不到安装目录的!!!
选择自定义安装
安装完成后,配置cuda的环境变量;
命令行中,测试是否安装成功;
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第4张图片
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第5张图片
安装完成,先查看系统变量,然后添加cuda的系统变量:
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第6张图片
在path中继续添加环境变量
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第7张图片
测试是否安装成功:
打开cmd命令行:输入 nvcc -V
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第8张图片
如图显示cuda10.0安装成功

三、安装cudnn

解压文件夹,将解压后的文件夹下的文件拷贝到cuda安装目录下,与之相对应的文件夹下。
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第9张图片

四、测试tensorflow的gpu是否可用

import  tensorflow as tf
print(tf.test.is_gpu_available())

返回True 则可用 ,Flase则不可用

过程中可能会提示你缺失动态库,从而显示flase

Could not load dynamic library ‘cudart64_100.dll’; dlerror: cudart64_100.dll not found
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第10张图片
可以看出他找不到很多这种dll文件,出现这个情况有可能是因为:
(1)你所使用tensorflow与cuda的版本不对应造成的,出现这种情况的时候,解决方法有两种:
第一种:你需要重新卸载原来的cuda,下载正确的cuda。如何卸载:控制面板——程序卸载
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第11张图片
红框所示全部卸载!
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第12张图片
然后再把无效注册表信息删除即可,也就是删掉无效的环境变量
第二种:当然也可以不必重新卸载原来的cuda,找到这些动态文件所在的目录,基本都是在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin下,将这些dll,修改成对应的文件名
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第13张图片
如:你所需要的是cudart64_100.dll 就将原来的cudart64_101.dll修改成cudart64_100.dll ,但有一定的风险,在此还是推荐使用第一种方法
(2)另一种情况,你所下载的版本都是对应好的,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin下的文件名也都正确,但还是找不到这些文件,具体原因不明。
解决方法:把这些在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin所谓缺失的dll复制一份到 C:\Windows\System
tensorflow的cuda+cudnn安装教程及其Could not load dynamic library ‘cudart64_100.dll’问题解决_第14张图片
成功解决问题

在此极力推荐:使用pytorch! tensorflow 用起来好蛋疼!

你可能感兴趣的:(python学习笔记,BUG_python专栏)