"Could Not Load Dynamic Library 'Libcudnn. So.8'" When Running Tensorflow on Ubuntu 20.04

"Could Not Load Dynamic Library 'Libcudnn. So.8'" When Running Tensorflow on Ubuntu 20.04
★ Key Takeaways

Note: There Are Many Similar Questions but for Different Versions of Ubuntu and Somewhat Different Specific Libraries. I Have Not Been Able to Figure out What Combination of Symbolic Links, Additional Environment Variables Such as Ld_Library_Path Would Work

Get the latest details on "Could Not Load Dynamic Library 'Libcudnn. So.8'" When Running Tensorflow on Ubuntu 20.04.

So I had the same issue. As the comments say, it's because you need to install CUDNN. For that, there is a guide here.

But as I know already your distro (Ubuntu 20.04) I can give you the command lines already:

wget  sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys  sudo add-apt-repository "deb  /" sudo apt-get update sudo apt-get install libcudnn8 sudo apt-get install libcudnn8-dev 

where ${last_public_key} is the last public key (file with .pub extension) published on . (At May 9th 2022 when this post was edit, it was 3bf863cc.pub).

And if you want to install a specific version, the last 2 commands would be replaced with

sudo apt-get install libcudnn8=${cudnn_version}-1+${cuda_version} sudo apt-get install libcudnn8-dev=${cudnn_version}-1+${cuda_version} 

where ${cudnn_version} is for example 8.2.4.* and ${cuda_version} is for example cuda11.0 (as I see you have 11.0 on the command nvidia-smi, although I have not tested it as mine was 11.4 but I guess it should work Ok)

2

I had the same issue and linux OS is Centos7-6 for me. Since I don't have sudo access on this machine, I solved the issue by installing cudnn from the anaconda website

In the environment where the latest tensorflow flow is installed :

conda install -c anaconda cudnn 

You can check the package install using conda list : ( I had previously installed the cudatoolkit from anaconda )

Name Version Build Channel cudatoolkit 11.3.1 h2bc3f7f_2 cudnn 8.2.1 cuda11.3_0 

You can check if tensorflow and the gpus are talking to each other :

(tf2_6) [xxxx@msird-gpu-01 envs]$ python Python 3.8.12 (default, Oct 12 2021, 13:49:34) [GCC 7.5.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> gpus = tf.config.experimental.list_physical_devices('GPU') >>> for gpu in gpus: ... print("Name:", gpu.name, " Type:", gpu.device_type) ... Name: /physical_device:GPU:0 Type: GPU Name: /physical_device:GPU:1 Type: GPU 
1

I used in Ubuntu 22.04

sudo apt install nvidia-cudnn 
1
Robert Thorne
Author

Robert Thorne

Robert Thorne covers electric vehicle innovations, autonomous driving systems, global mobility trends, and automotive engineering developments.