tensorflow调用GPU出错:Could not load dynamic library ‘libcudnn.so.8‘

记录以下tensorflow调用GPU所踩的坑(仅用于个人笔记)

  1. 使用命令查看自己的CUDA版本
nvidia-smi

我的版本是11.0,图右上角。
tensorflow调用GPU出错:Could not load dynamic library ‘libcudnn.so.8‘_第1张图片
没有安装CUDA的请自行查看教程。

  1. 根据自己的CUDA版本查看匹配的python版本以及tensorflow版本
    版本匹配如下:
    tensorflow调用GPU出错:Could not load dynamic library ‘libcudnn.so.8‘_第2张图片
    我的CUDA是11.0,使用的python版本为3.8,tensorflow-gpu或者tensorflow版本要使用2.4.0
    安装tensorflow:
conda install tensorflow-gpu==2.4.0
或者 pip install tensorflow-gpu==2.4.0
  1. 使用如下命令检测能否调用gpu
import os
from tensorflow.python.client import device_lib
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "99"
if __name__ == "__main__":
    print(device_lib.list_local_devices())

发现只能调用cpu,出现提示如下:

Could not load dynamic library 'libcudnn.so.8'; dlerror: libcudnn.so.8: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-11.0/lib64

说明只安装了CUDA,并未安装CUDA所对应的libcudnn

  1. 去官网找到对应的libcudnn版本
    网址:https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/
    我所对应的版本如图所示
    tensorflow调用GPU出错:Could not load dynamic library ‘libcudnn.so.8‘_第3张图片
    使用以下命令下载:
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64/libcudnn8_8.0.5.39-1+cuda11.0_amd64.deb

链接是根据CUDA所选的cudnn的链接。
5. 进行安装

sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.1_amd64.deb
  1. 再次使用步骤3中的代码进行测试,结果如下。
    tensorflow调用GPU出错:Could not load dynamic library ‘libcudnn.so.8‘_第4张图片
    至此,跑程序就可以调用gpu了。

你可能感兴趣的:(日常问题解决,笔记,tensorflow,深度学习,python)