在linux上安装完tensorflow的gpu版本,运行
import tensorflow as tf print(tf.test.is_gpu_available())
出现 False 以及出现下面两个警告
Could not load dynamic library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory
Could not load dynamic library 'libcudnn.so.7'; dlerror: libcudnn.so.7: cannot open shared object file: No such file or directory
**问题原因:**安装的tensorflow 的gpu版本和linux上的cuda以及cudnn版本不匹配,解决办法:
一:安装和全局cuda和cudnn版本匹配的tensorflow版本;
二:root用户全局安装对应版本的cuda和cudnn;
三:在conda环境下安装cudatoolkit和cudnn。
个人推荐第三种方法。
-
通过 nvcc -V 或者 cat /usr/local/cuda/version.txt 查看全局的cuda和cudnn的版本信息,然后对应合适的tensorflow-gpu版本,可参考:https://blog.csdn.net/K1052176873/article/details/114526086、https://blog.csdn.net/LLABVIEW/article/details/120443834
-
pip install tensorflow-gpu==版本号
-
输入 python 进入python环境后,import tensorflow as tf ,print(tf.test.is_gpu_available()) ;如果输出为 True,则说明安装成功
注意如果 pip install tensorflow 安装的是tensorflow的cpu版本。
有root权限的用户可以在linux上重新安装与tensorflow版本对应的cuda和cudnn版本,可以全局配置。
方法三:没有root权限的用户无法安装新的全局cuda和cudnn版本,只能安装针对此用户的cuda和cudnn,可以使用conda安装cuda和cudnn。
-
先按照方法一的步骤安装,如果最后print(tf.test.is_gpu_available()) 输出 为 False,且出现下面情况:
-
然后在conda环境下输入 conda install cudatoolkit=10.0;
-
然后利用 conda search cudnn 查看cuda版本对应的cudnn版本,然后输入如 conda install cudnn=7.6.5 ;
-
如果conda中没有合适的cuda或者cudnn版本,则通过windows本地下载安装包后上传到linux,然后使用 conda install --use-local file 安装



