在用GPU版本的Tensorfolow进行模型训练时,常常会出现 ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory 这样的错误。
首先检查/usr/local/cuda-8.0/lib64
目录,看看libcudart.so.8.0
是否存在,如果不存在,则先正确安装cuda。如果确定cuda已经存在,这个问题的出现于Linux的ldconfig命令有关。
解决方法:
所需的libcudart.so.8.0如果正确安装的话,以下两种方法同理:
1. sudo ldconfig /usr/local/cuda-8.0/lib64
2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
。如果仍然不行,再尝试执行: export PATH=$PATH:/usr/local/cuda-8.0/bin
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64
source /etc/profile
一般我用 第一种方法就可以实现了:
打开终端,输入:sudo ldconfig /usr/local/cuda-8.0/lib64
输入你的密码:
此时会显示 /sbin/ldconfig.real: /usr/local/cuda-8.0/lib64/libcudnn.so.6 不是符号连接
不用担心,这时已经解决问题了。
我们再打开刚刚的测试程序,运行,发现successfully opened CUDA library:
使用GPU版本的Tensorflow训练成功!