tensorflow2.x 无法启用GPU问题

tensorflow2.x 无法启用GPU问题

前提:

  1. CUDA版本,tensorflow,keras等版本匹配。
  2. GPU处于正常运转状态。
  3. 已经将CUDA的安装路径加入环境变量

问题1:无法载入lib开头的文件

例如:could not load dynamic liabrary ‘libcudart. so. x’ ;dlerror:libcudart.so.x:could not shared object file:no such file ordictory; LD_LIBRARY_PATH

这里也可能无法载入其他的lib开头的文件,但解决方法都是一样的

测试GPU是否可用

import tensorflow as tf
print("Num GPUs Availiable: ",len(tf.config.experimental.list_physical_devices('GPU')))

报错显示无GPU可用

解决过程:

step1:进入CUDA默认的安装路径 /usr/local/cuda/lib64 目录查看是否缺少错误中提示的文件。如果缺少,那大概率要重装CUDA。如果存在文件,但版本不对应,例如系统要求libcudart.so.10.1, 而你文件夹下的是libcudart.so.10.2,只需要通过建立软链接使得系统认为libcudart.so.10.2就是libcudart.so.10.1成功解决问题。这里如果是其他文件(libcudnn缺少除外)也是可以通过添加软连接来解决的。

sudo ln -s /usr/local/cuda/lib64/libcudart.so.10.2 /usr/local/cuda/lib64/libcudart.so.10.1

问题2:缺少libcudnn.so文件

出现这个文件缺失,那一定是没有安装cudnn。

问题解决

step1:下载对应版本的cudnn 例如:cudnn-10.2-linux-x64-v6.0.tgz

step2:解压:tar -xvzf cudnn-10.2-linux-x64-v6.0.tgz 得到:

cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7.5.6
cuda/lib64/libcudnn_static.a

step3:将文件体检到CUDA目录下
cp cuda/lib64/* /usr/local/cuda-10.0/lib64/
cp cuda/include/* /usr/local/cuda-10.0/include/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值