在Ubuntu16.04 AWS机器安装tensorflow-gpu遇libcublas.so.9.0缺失错误求助
解决TensorFlow-GPU导入时找不到libcublas.so.9.0的问题
你已经完成了CUDA 9.0的安装和环境变量配置,却依然遇到库文件找不到的错误,我给你几个针对性的排查和解决思路:
1. 确认环境变量是否真正生效
有时候修改.bashrc或.profile后,当前终端会话并没有加载新配置。先执行以下命令检查变量状态:
echo $LD_LIBRARY_PATH
如果输出里没有/usr/local/cuda-9.0/lib64,说明配置没生效。可以先临时设置变量测试:
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH export PATH=/usr/local/cuda-9.0/bin:$PATH export CUDA_PATH=/usr/local/cuda-9.0
设置完成后再尝试导入TensorFlow,如果能成功,记得把这些配置写入.bashrc(或.profile),并执行source ~/.bashrc让配置永久生效。
2. 更新系统动态链接库缓存
即使环境变量配置正确,系统可能还没将CUDA的库路径纳入动态链接缓存。执行以下命令刷新缓存:
sudo ldconfig
这个命令会让系统重新扫描所有指定的库路径,之后应该就能识别到libcublas.so.9.0了。
3. 检查虚拟环境的环境变量继承问题
如果是在virtualenv或conda虚拟环境中安装的TensorFlow,环境可能没有继承系统的LD_LIBRARY_PATH:
- 激活虚拟环境后,手动执行上述
export命令设置变量,再测试导入; - 或者修改虚拟环境的激活脚本,让它自动加载CUDA变量:
打开虚拟环境目录下的bin/activate文件,在末尾添加:
这样每次激活虚拟环境时,这些变量都会自动生效。export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH export PATH=/usr/local/cuda-9.0/bin:$PATH export CUDA_PATH=/usr/local/cuda-9.0
4. 验证TensorFlow-GPU与CUDA的版本兼容性
虽然你的问题是库文件找不到,但也可以确认下TensorFlow版本是否适配CUDA 9.0:一般TensorFlow 1.8~1.12版本兼容CUDA 9.0,如果安装的是2.x版本,可能需要更高版本的CUDA。执行以下命令查看当前TensorFlow版本:
pip show tensorflow-gpu
如果版本不匹配,可以卸载后安装对应版本:
pip uninstall tensorflow-gpu pip install tensorflow-gpu==1.12.0
按照上面的步骤逐一排查,应该能解决你的问题。
内容的提问来源于stack exchange,提问作者Mayur Mudigonda
相关产品推荐
相关产品推荐

