【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法

问题: 安装tensorflow-gpu,在测试是否调用GPU时出现如下问题:

Could not load dynamic library ‘libcudart.so.11.0’; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory;
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第1张图片

解决方法:

为了解决这个问题,笔者尝试了各种网上的解决教程,都无法解决。
网上查找时,如下解决方法:
方法一:
用:

conda install tensorflow-gpu

取代

pip install tensorflow-gpu

笔者试过,并没有解决问题,这里给大家排雷
方法二:

conda install cudatoolkit=11.0 

笔者也试过,尝试多次根本安装不下来,添加指定镜像也没有用,还是无法解决问题。

笔者的解决方法:
笔者询问了云服务器的技术管理人员,确实需要安装cuda 11.0 但是不是用conda或者pip来安装cudatoolkit=11.0,而是要去官网上下载安装!!!!
英伟达官网下载:
https://developer.nvidia.com/cuda-downloads(找到对应系统的版本)
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第2张图片
复制链接,用指令下载(注意:首先要cd进入指定文件夹,否则无法安装),官网的原始指令无法成功安装,正确安装指令如下:

cd  /data/nextcloud/dbc2017/files/jupyter  # 云服务器指定文件夹
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run --librarypath=/usr/local/cuda-11.1

【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第3张图片
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第4张图片

这里不安装cuda安装包中自带的显卡驱动(不要安装driver
),即将driver取消选择,继续安装即可
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第5张图片
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第6张图片
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第7张图片

终端显示如下,则安装成功:
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第8张图片
配置环境

vim ~/.bashrc

文末添加如下,并保存(esc-->:wq):

export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第9张图片

source ~/.bashrc

安装完cuda后,切换cuda,这样程序就可以调用新安装的cuda
执行命令:ln -snf /usr/local/cuda目录名字 /usr/local/cuda
比如:ln -snf /usr/local/cuda-11.1 /usr/local/cuda

缺少:libcudnn.so.8文件

【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第10张图片
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第11张图片
从下载地址:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse804-111下载对应的 cnDNN8
复制链接使用命令下载(但是笔者这里无法用指令下载,所以在官网中下载后解压):

wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.4/11.1_20200923/cudnn-11.1-linux-x64-v8.0.4.30.tgz

解压缩:

tar zxvf cudnn-11.1-linux-x64-v8.0.4.30.tgz

【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第12张图片

解压缩之后会得到cuda文件夹,接着执行下面的操作:

 sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
 sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
 sudo chmod a+r /usr/local/cuda/include/cudnn.h
 sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

没有输出即成功
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第13张图片

查看版本号:

cat cuda/include/cudnn_version.h |grep ^#

【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_第14张图片
对libcudnn文件创建软连接:
cd /usr/local/cuda-11.1/lib64
ln -snf libcudnn.so.8.0.4 libcudnn.so.8
ln -snf libcudnn.so.8 libcudnn.so

你可能感兴趣的:(ubuntu,cuda,linux)