已配置LD_LIBRARY_PATH,TensorFlow仍找不到libcublas.so.9.0怎么办?
解决TensorFlow找不到libcublas.so.9.0的问题
我来帮你排查几个容易被忽略的点:
先确认库文件是否真的存在
别光看环境变量,先去路径里实地检查这个文件:ls /usr/local/cuda-9.0/lib64/libcublas.so.9.0如果提示文件不存在,说明你的CUDA Toolkit 9.0安装不完整,得重新跑安装程序,确保勾选了
cuBLAS相关组件,或者直接选完整安装包。检查环境变量的生效范围
你用echo $LD_LIBRARY_PATH看到的是当前shell的变量,但如果是用IDE(比如PyCharm)、后台进程或者新启动的终端运行脚本,可能没继承这个配置。可以试试:- 直接在当前显示变量正确的shell里执行TensorFlow脚本,看是否还报错;
- 如果用IDE,得在IDE的环境变量设置里手动添加
LD_LIBRARY_PATH,或者先在shell里加载好变量再启动IDE。
更新系统动态链接库缓存
系统的动态链接库缓存可能没同步新安装的CUDA库,执行这条命令强制更新:sudo ldconfig /usr/local/cuda-9.0/lib64跑完再试你的脚本。
确认cuDNN安装是否到位
虽然报错是cuBLAS,但cuDNN的文件没放对也可能干扰CUDA库的识别。检查你是否把cuDNN的文件正确复制到CUDA路径:- 将cuDNN压缩包
lib64下的所有文件复制到/usr/local/cuda-9.0/lib64/ - 将
include下的文件复制到/usr/local/cuda-9.0/include/
复制完记得再执行一次sudo ldconfig。
- 将cuDNN压缩包
核对TensorFlow与CUDA的版本兼容性
不是所有TensorFlow版本都支持CUDA 9.0,比如TensorFlow 1.10~1.13系列适配CUDA 9.0,如果你装的是更高版本的TensorFlow,它可能会找更高版本的CUDA库,自然找不到9.0的文件。用pip show tensorflow查看当前版本,确认是否匹配。
内容的提问来源于stack exchange,提问作者Julius ShadowAspect Flimmel
相关产品推荐
相关产品推荐

