Ubuntu 20.04.3安装TensorFlow 2.4.0时无法加载动态库libcudnn.so.8的问题求助
解决TensorFlow无法识别GPU且找不到libcudnn.so.8的问题
你已经选对了版本搭配(TensorFlow 2.4.0确实需要CUDA 11.0 + CuDNN 8.0.x),问题出在系统动态链接库的搜索路径没有包含CuDNN所在目录,导致TensorFlow加载不到对应的库文件。下面是具体的解决步骤:
一、临时验证路径问题(立即生效,重启终端后失效)
在当前终端执行命令,把CUDA的lib64目录添加到动态链接库路径:
# 利用你已有的cuda软链接(指向cuda-11.0),路径更通用 export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
接着直接在这个终端里重新运行测试代码:
import tensorflow as tf tf.config.list_physical_devices('GPU')
如果能正常识别GPU,说明路径问题就是根源,接下来配置永久生效的环境变量。
二、永久配置环境变量(重启后依然生效)
根据你使用的Shell(Ubuntu默认是bash),修改对应的配置文件:
针对bash用户
编辑~/.bashrc文件:
nano ~/.bashrc
在文件末尾添加以下内容:
# 配置CUDA和CuDNN的环境路径 export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH export PATH=/usr/local/cuda/bin:$PATH
保存并退出(按Ctrl+O→回车→Ctrl+X),然后重新加载配置:
source ~/.bashrc
针对zsh用户
如果用的是zsh,编辑~/.zshrc文件:
nano ~/.zshrc
同样添加上述两行配置,再重新加载:
source ~/.zshrc
三、验证配置是否生效
执行命令查看环境变量:
echo $LD_LIBRARY_PATH
输出里应该包含/usr/local/cuda/lib64路径。
另外,更新系统动态链接库缓存(需要sudo权限):
sudo ldconfig
四、再次测试TensorFlow GPU识别
重启终端后,运行测试代码:
import tensorflow as tf print("TensorFlow版本:", tf.__version__) print("可用GPU设备:", tf.config.list_physical_devices('GPU'))
如果一切正常,应该会列出你的GPU设备信息,不再出现libcudnn.so.8的加载错误。
内容的提问来源于stack exchange,提问作者Talha Anwar
相关产品推荐
相关产品推荐

