Ubuntu18.04/Ubuntu20.04安装cudnn(含各种坑记载)

23 篇文章 0 订阅
12 篇文章 0 订阅

目录

问题描述

解决方案

1. 统一tensorflow与cuda的版本

​2. 安装符合cuda版本的cudnn

后记


问题描述

(不需要解决这个问题、想直接看cudnn怎么安装的友友可直接跳转​2. 安装符合cuda版本的cudnn

今天在跑一个baselines时,出现了这种错误

2023-02-15 21:27:52.823352: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/lib:/root/.mujoco/mujoco210/bin

2023-02-15 21:27:52.823440: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/lib:/root/.mujoco/mujoco210/bin

2023-02-15 21:27:52.823519: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/lib:/root/.mujoco/mujoco210/bin

2023-02-15 21:27:52.823598: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/lib:/root/.mujoco/mujoco210/bin

2023-02-15 21:27:52.823675: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcusolver.so.10.0'; dlerror: libcusolver.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/lib:/root/.mujoco/mujoco210/bin

2023-02-15 21:27:52.823753: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcusparse.so.10.0'; dlerror: libcusparse.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/lib:/root/.mujoco/mujoco210/bin

2023-02-15 21:27:52.823831: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcudnn.so.7'; dlerror: libcudnn.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/lib:/root/.mujoco/mujoco210/bin

 看网上说,应当是没有正确安装cudnn所致,但是之前我已经按照Ubuntu20.04下安装CUDNN_可疑的墨水的博客-CSDN博客中所说的方式,通过以下过程安装并验证过成功安装cudnn了:

 但是确实有问题,于是开始重新研究怎么正确在Ubuntu下安装cudnn。

解决方案

1. 统一tensorflow与cuda的版本

首先,以下这个错误是因为我的代码是在tensorflow1.14版本下运行的,而我的cuda版本是11.2。

Could not dlopen library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH:

由下图可知,cuda11.2至少需要2.5.0以上的tensorflow版本,于是我重新找了一个支持tensorflow2.x.x的baseline(当然也可以更换cuda版本)。

 2. 安装符合cuda版本的cudnn  

 灵感是在以下链接中找到的:python - "Could not load dynamic library 'libcudnn.so.8'" when running tensorflow on ubuntu 20.04 - Stack Overflow

官方对于cudnn的各种安装方式教程可以在下面这个文档中看到:

Installation Guide :: NVIDIA Deep Learning cuDNN Documentation

具体来说,需要依次执行以下命令(如果版本不是18.04,就换成对应的版本):

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/${last_public_key}.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update

之后就是确定自己该安装什么版本的cudnn,通过查阅以下网址:https://www.cnblogs.com/EasonJim/p/7144017.html

执行以下命令来列出当前操作系统所有支持的libcudnn8和libcudnn8-dev版本:

apt-cache madison libcudnn8
apt-cache madison libcudnn8-dev

选择一个低于当前cuda版本但比较新的libcudnn8和 libcudnn8-dev安装即可。如:

sudo apt-get install libcudnn8=8.1.1.33-1+cuda11.2
sudo apt-get install libcudnn8-dev=8.1.1.33-1+cuda11.2

 成功解决问题描述里提到的问题,也成功运行了baseline。问题解决!

后记

1. 一定注意tensorflow和cuda版本的对应,学会看错误提示

2. cudnn版本的选择不能过高,要参照自己的cuda版本,否则会出现以下bug:

Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED

3. 配置服务器终于告一段落了, 希望以后可以正确快速的运行各种代码呀!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值