CentOS下CUDA8.0环境导入TensorFlow报错libcublas.so.9.0求助
解决TensorFlow导入错误与CUDA版本困惑
Hey there, let's work through your issues one by one:
1. 解决 ImportError: libcublas.so.9.0 错误
这个错误的核心原因很明确:你当前安装的TensorFlow版本依赖CUDA 9.0的库文件,但你系统里只装了CUDA 8.0,所以找不到对应的libcublas.so.9.0文件。
你有两个可行的解决方案:
- 方案一:降级TensorFlow到兼容CUDA 8.0的版本
CUDA 8.0对应的适配TensorFlow版本是1.4.x及更早(TensorFlow 1.4开始支持Python 3.6)。执行以下步骤:- 先卸载当前的TensorFlow:
pip uninstall tensorflow # 如果是GPU版本则用 pip uninstall tensorflow-gpu - 安装适配版本:
pip install tensorflow==1.4.0 # GPU版本用 pip install tensorflow-gpu==1.4.0
- 先卸载当前的TensorFlow:
- 方案二:升级CUDA到9.0
你的显卡驱动版本是9.1,完全支持CUDA 9.0(CUDA驱动遵循向下兼容运行时的规则)。升级后记得修改/etc/profile里的环境变量路径,把cuda-8.0替换成cuda-9.0,然后执行source /etc/profile让配置生效。
2. 关于CUDA版本显示不一致的困惑
你看到的两个版本其实是不同的概念,完全属于正常现象:
nvcc -V显示的是**CUDA Toolkit(运行时)**的版本,也就是你手动安装的cuda-8.0的版本,所以显示release 8.0, V8.0.61是正确的。deviceQuery里的CUDA Driver Version是显卡驱动自带的CUDA驱动版本,CUDA Runtime Version是你安装的Toolkit版本。CUDA驱动的兼容规则是:只要驱动版本≥运行时版本,就能正常工作。你的驱动是9.1,运行时是8.0,满足兼容条件,所以设备可以正常运行CUDA程序,这个不用紧张。
最后提醒一下:修改完/etc/profile的环境变量后,一定要执行source /etc/profile或者重启终端,确保配置生效。
内容的提问来源于stack exchange,提问作者Yang Feng
相关产品推荐
相关产品推荐

