版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
cuda 10.1下使用tensorflow-gpu 1.4报错解决办法
- 报错信息:
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory
- 报错原因:
报错是没有在 /usr/local/cuda-10.1/lib64/ 下找到 libcublas.so.10.0 导致的. 事实上, cuda10.1 安装时, libcublas.so.10.0并没有放在该目录下, 而是在 /usr/lib/x86_64-linux-gnu/ 目录下, 且名称为 libcublas.so.10.
- 解决办法:
因此, 只需新建一个软链接 libcublas.so.10.0, 指向 libcublas.so.10, 并且将该目录 /usr/lib/x86_64-linux-gnu/ 加入到环境变量中即可解决.
然后修改 ~/.bashrc , 添加 /usr/lib/x86_64-linux-gnu/ 到 LD_LIBRARY_PATH 中,$ cd /usr/lib/x86_64-linux-gnu/ $ sudo ln -s /usr/lib/x86_64-linux-gnu/libcublas.so.10 /usr/lib/x86_64-linux-gnu/libcublas.so.10.0 $ $ sudo vim ~/.bashrc
然后 wq 保存退出, 执行:export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-10.1/lib64:${LD_LIBRARY_PATH}"
$ source ~/.bashrc
- 其他错误:
但是上述方法并没有完全解决问题, 仍然出现报错, 原因和上面的差不多, 有几个包无法找到, 但是与上面的不同, 这些包都是在 /usr/local/cuda-10.1/lib64/ 目录下, 因此需要添加一下软链接.$ cd /usr/local/cuda-10.1/lib64 $ sudo ln -s libcudart.so libcudart.so.10.0 $ sudo ln -s libcufft.so libcufft.so.10.0 $ sudo ln -s libcurand.so libcurand.so.10.0 $ sudo ln -s libcusolver.so libcusolver.so.10.0 $ sudo ln -s libcusparse.so libcusparse.so.10.0
至此, tensorflow1.4 可以在cuda 10.1 下正常运行了.