背景:新人小白,集群系统 CentOS,获得账号的时候环境里面已经配好了torch的gpu版本(1.9.0+cu102),且运行作业能够调用gpu,并且提供的说明书中说已经装好了python3.8,cuda11。想使用tensorflow 2.4.1版本,但tensorflow-gpu的调用一直失败(tf.__version__: 2.4.1, tf.test.is_gpu_available:False)
解决过程:尝试过更换python的版本、升级tensorflow、降级tensorflow,但是最终未能成功,创建虚拟环境重新安装。通过不断调整和一次次的python文件测试输出,最终将目光集中到了错误中的这句话:
2022-05-19 19:25:51.920083: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 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: /share/apps/packages/lib::/share/apps/anaconda3/lib
原因是找不到cudnn,所以决定去安装cudnn
解决方案:去官网下载cudnn的安装包,然后上传到远程linux系统中,发现linux解压报错(xz解压出错,大概又是安装的问题?),花了一段时间没有解决便在电脑上解压好上传到远程linux系统中,然后按照教程用命令进行安装,sudo cp的目标文件夹换成了报错中的路径,/share/apps/packages/lib,最后成功解决。
参考的安装教程:
linux安装CUDA+cuDNN_Iron·Man�的博客-优快云博客_linux安装cuda和cudnn
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_摇曳的树的博客-优快云博客_libcudart.so.11.0
结果:
2.4.1为tensorflow的版本,第一个True表示tf gpu可用,第二个True表示torch gpu可用。