tensorflow 无法在Ubuntu中加载动态库“libcudn.so.8”

yftpprvb  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(102)

我正在使用Ubuntu 20.04.3并尝试安装TensorFlow。Nvidia驱动程序版本为Driver Version: 470.63.01。首先,我已经安装了cuda11.0,并通过以下命令检查了它的安装
cat /usr/local/cuda/version.txt
它输出CUDA版本11.0.207。
接下来我安装了cudnn

tar -xzvf cudnn-11.0-linux-x64-v8.0.5.39
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

我还用这个命令ls /usr/local |grep cuda检查了cuda文件,结果是
cuda cuda-11.0
Cudnn文件由以下人员进行测试

ls /usr/local/cuda-11.0/lib64/libcudnn.so.8*

和输出

/usr/local/cuda-11.0/lib64/libcudnn.so.8
/usr/local/cuda-11.0/lib64/libcudnn.so.8.0.5

然后我安装了tensorflow pip install tensorflow==2.4.0,但当我运行

import tensorflow as tf
tf.config.list_physical_devices('GPU')

它没有得到GPU,错误是Could not load dynamic library 'libcudnn.so.8'; dlerror: libcudnn.so.8: cannot open shared object file: No such file or directory

agxfikkp

agxfikkp1#

我也遇到了同样的问题。从您的代码片段中,我看到您引用了两个不同的CUDA位置:

  • /usr/local/cuda/
  • /usr/local/cuda-11.0/

因此,您可能会仔细检查这是否会导致问题。
here我了解到TF从LD_LIBRARY_PATH读取有关可用CUDA的系统信息。我正在使用的系统上安装了多个CUDA版本。因此,导出这些路径明确地解决了我的问题:

export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-11.0

当然,您需要根据具体情况调整路径。

f4t66c6m

f4t66c6m2#

我面临着同样的问题,在我的情况下,我被迫重新安装所有nvidia/cuda组件和 Torch 库,并重新安装它们。在我这样做之后,我的训练过程使用我的1070 Ti GPU进行得很好。使用此说明,希望有所帮助。

相关问题