解决Could not load dynamic library ‘cudnn64_8.dll‘; dlerror: cudnn64_8.dll not found问题
Posted 等等邓邓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Could not load dynamic library ‘cudnn64_8.dll‘; dlerror: cudnn64_8.dll not found问题相关的知识,希望对你有一定的参考价值。
以前都是在用CPU跑深度学习,只能说太勇了,今天终于想通了用GPU跑代码。
搭建环境参考
全网最详细的深度学习tensorflow-gpu环境配置
这篇文章写得非常棒,在运行的时候出现了报错
Could not load dynamic library ‘cudnn64_8.dll’; dlerror: cudnn64_8.dll not found
这个报错应该就是下载的cudnn文件解压错了位置,在网上搜索了各种办法,其中最常见的解压位置是
C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.3\\bin
但是我一直找不到这个文件位置,因为我在安装cuda的时候更改了安装路径,我安装在了D盘
这个时候需要找到你安装的cuda位置,实在是不知道了,在命令行查找,输入set cuda即可
然后到这个路径下找到bin文件
打开里面确实没有cudnn64_8.dll文件。
然后我们需要去下载的cudnn压缩包里面找这个文件,将压缩包解压打开,同样会有bin文件,打开bin,里面就有我们所需的cudnn64_8.dll文件
将我们所需的文件复制粘贴到cuda的bin文件夹里面,我估计这里的文件的报错都可以用这个方法解决。然后记得要重启python,最终运行
import tensorflow as tf
print(tf.test.is_gpu_available())
返回为True
解决TensorFlow-GPU 2.x使用GPU报错:Could not load dynamic library ‘libcudnn.so.7‘
前言
本篇博客主要解决在安装tensorflow-gpu
之后,使用gpu
训练模型时报错的问题。
1. 问题描述
软件 | 版本号 |
---|---|
OS | Ubuntu 18.04 |
CUDA | 10.1 |
cuDNN | 7.6.5 |
TensorFlow-GPU | 2.3.0 |
# test whether GPU can be used
import tensorflow as tf
# 查看版本号
tf.__version__
# 查看gpu能否使用
tf.test.is_gpu_available()
# tf.config.list_physical_devices('GPU')
然后报错:Could not load dynamic library 'libcudnn.so.7'; dlerror: libcudnn.so.7: cannot open shared object file: No such file or directory
,根据下图可以看出tensorflow
检测到了有gpu
的存在,并输出了gpu
的相关信息,但是缺少gpu
的库文件libcudnn.so.7
,导致gpu
不能正确加载。
2. 问题原因
缺少gpu
的库文件,因为我使用PyTorch
进行GPU
训练是可以的,所以猜测是tensorflow
的依赖问题,缺少相关库导致gpu
加载失败。
3. 解决过程
理论上来讲,从别的机子上copy
一下这个文件,应该也是能用的,但,我的是服务器…不好弄。所以就看了看相关博客,在此做总结如下:
# 使用conda安装cudnn
conda install -c anaconda cudnn
然后再次进行测试gpu
能否使用:
这就很ok了,既然通过conda
安装之后解决了,说明是虚拟环境中缺少gpu
的加载库。
再回头看一下这条指令是什么意思:conda install -c anaconda cudnn
有些包在conda
默认的channels
中不包含,比如cudatoolkit
,cudnn
等,这时只需要在conda install
指令后加上-c anaconda
即可。也确实,有时候使用pip install
一些库时,会导致相关的依赖没有完全安装完,不知道使用pip install cudnn
能否成功,暂未测试。
以上是关于解决Could not load dynamic library ‘cudnn64_8.dll‘; dlerror: cudnn64_8.dll not found问题的主要内容,如果未能解决你的问题,请参考以下文章
解决Could not load dynamic library ‘cudnn64_8.dll‘; dlerror: cudnn64_8.dll not found问题
解决TensorFlow-GPU 2.x使用GPU报错:Could not load dynamic library ‘libcudnn.so.7‘
Could not load dynamic library ‘cudart64_110.dll‘; dlerror: cudart64_110.dll not found Ignore above(
Ubuntu下TensorFlow报错:Could not load dynamic library ‘libcudnn.so.8‘; dlerror: libcudnn.so.8: cannot..
安装tensorflow后报错Could not load dynamic library ‘cudart64_110.dll‘; dlerror:cudart64_110.dll not found