运行Matterport Mask RCNN时TensorFlow原生运行库加载失败及兼容版本咨询
Matterport Mask RCNN 运行错误解决方案
错误根因
你当前遇到的libcusolver.so.8.0: cannot open shared object file报错,核心原因是AWS EC2实例上安装的CUDA版本和你所用的TensorFlow 1.3.0 GPU版依赖不匹配,TensorFlow 1.3 GPU版必须搭配CUDA 8.0 + cuDNN v6运行,缺失对应版本的CUDA动态链接库就会触发TensorFlow原生运行时加载失败。
官方适配版本要求
Matterport官方原生Mask RCNN代码的兼容版本范围如下,你当前用的Keras 2.0.8、Python 3.6均符合要求,无需调整:
- TensorFlow:1.3 ~ 1.15 (优先选择1.5、1.13.1两个经过大量用户验证的稳定版本,原生代码不支持TensorFlow 2.x)
- Keras:2.0.8 ~ 2.2.5
- Python:3.5 ~ 3.6
解决步骤
方案一:保留GPU加速(推荐)
- 卸载EC2实例上现有不匹配的CUDA、cuDNN版本,安装CUDA 8.0 + cuDNN v6
- 配置CUDA路径环境变量,在运行Mask RCNN代码前,先在Jupyter cell中执行:
import os os.environ['LD_LIBRARY_PATH'] = '/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64'
如果需要永久生效,将上述路径追加到~/.bashrc文件末尾,执行source ~/.bashrc后重启Jupyter服务即可。
方案二:临时使用CPU版快速验证
如果暂时不需要GPU加速,可直接替换为CPU版TensorFlow规避CUDA依赖问题:
pip uninstall -y tensorflow-gpu pip install tensorflow==1.3.0
该版本无需CUDA支持,可直接运行你的演示代码,仅推理速度会慢于GPU版本。
验证方式
配置完成后先执行以下代码验证依赖导入正常:
import tensorflow as tf import keras print("TensorFlow版本:", tf.__version__) print("Keras版本:", keras.__version__)
无报错且输出版本号符合适配范围,即可继续运行你现有的Mask RCNN代码片段。
内容的提问来源于stack exchange,提问作者akshay acharya
相关产品推荐
相关产品推荐

