You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04下安装兼容CUDA9.0的预编译GPU版Caffe遇阻求助

解决Ubuntu 16.04上Caffe-gpu预编译包导入失败的问题

你的情况梳理

  • 需求:在Ubuntu 16.04上安装可用的预编译版Caffe-gpu(手动编译多次失败)
  • 当前环境:CUDA 9.0,系统可正常导入Caffe2库
  • 遇到的问题:通过Anaconda创建虚拟环境并安装caffe-gpu后,执行python -c "import caffe"触发protobuf符号未定义错误,具体错误信息如下:
Traceback (most recent call last): 
  File "<string>", line 1, in <module> 
  File "/home/*****/miniconda3/envs/cudapy2/lib/python2.7/site-packages/caffe/__init__.py", line 1, in <module> 
    from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer 
  File "/home/*****/miniconda3/envs/cudapy2/lib/python2.7/site-packages/caffe/pycaffe.py", line 13, in <module> 
    from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \ 
ImportError: /home/*****/miniconda3/envs/cudapy2/lib/python2.7/site-packages/caffe/../../../libcaffe.so.1.0.0: undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameEv

问题根源

这个错误是protobuf版本不兼容导致的:Anaconda提供的caffe-gpu包依赖特定版本的protobuf,但你当前虚拟环境中的protobuf版本与它不匹配,导致链接时找不到对应的符号。

解决方案

方案1:修复Conda环境的protobuf版本

  1. 先查看当前虚拟环境的protobuf版本:
    conda list protobuf
    
  2. 安装与caffe-gpu兼容的protobuf版本(针对CUDA9.0和Ubuntu16.04,推荐protobuf 3.2.0):
    conda install protobuf=3.2.0
    
  3. 再次测试导入:
    python -c "import caffe"
    

方案2:使用Ubuntu系统预编译包

如果Conda的包还是存在问题,可以尝试系统级的预编译Caffe-gpu:

  1. 添加适配Ubuntu16.04和CUDA9.0的Caffe预编译软件源
  2. 更新软件包列表并安装:
    sudo apt update && sudo apt install caffe-cuda
    
  3. 配置Python路径让系统识别Caffe库:
    export PYTHONPATH=/usr/lib/python2.7/dist-packages/caffe:$PYTHONPATH
    
  4. 再次执行测试导入命令。

关于Ubuntu版本升级的建议

Ubuntu16.04是支持CUDA9.0的,所以不需要强制升级就能使用Caffe-gpu。不过16.04的软件包版本相对老旧,如果后续频繁遇到依赖兼容问题,升级到Ubuntu18.04会获得更完善的软件支持,减少类似版本冲突的麻烦。

内容的提问来源于stack exchange,提问作者YellowishLight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:59:32