# Ubuntu14.04+CUDA8.0+Anaconda2+Python2.7下如何编译Caffe ## 前言 Caffe作为经典的深度学习框架,在计算机视觉领域有着广泛的应用。本文将详细介绍在Ubuntu 14.04系统下,基于CUDA 8.0、Anaconda2(Python 2.7环境)的Caffe编译全流程。整个过程包含环境准备、依赖安装、配置调整和编译测试等关键步骤,适合需要复现传统深度学习实验的研究人员参考。 --- ## 一、系统环境准备 ### 1.1 操作系统确认 ```bash lsb_release -a # 输出应显示Ubuntu 14.04 LTS uname -m # 确认系统架构(建议x86_64)
ubuntu-drivers devices
sudo apt-get install nvidia-384 nvidia-settings
wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda-repo-ubuntu1404-8-0-local_8.0.61-1_amd64-deb sudo dpkg -i cuda-repo-ubuntu1404-8-0-local_8.0.61-1_amd64-deb sudo apt-get update sudo apt-get install cuda-8-0
环境变量配置(添加到~/.bashrc):
export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
验证安装:
nvcc -V # 应显示8.0版本 nvidia-smi # 查看GPU状态
wget https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh bash Anaconda2-4.2.0-Linux-x86_64.sh
conda create -n caffe_py27 python=2.7 source activate caffe_py27
conda install numpy scipy matplotlib scikit-image pip pip install --upgrade pip
sudo apt-get install -y \ build-essential \ cmake \ git \ libprotobuf-dev \ libleveldb-dev \ libsnappy-dev \ libopencv-dev \ libhdf5-serial-dev \ protobuf-compiler \ libboost-all-dev \ libatlas-base-dev
git clone https://github.com/BVLC/caffe.git cd caffe git checkout -b v1.0 1.0 # 使用稳定版本
conda install -y \ cython \ ipython \ h5py \ pandas \ protobuf pip install python-dateutil --upgrade
复制模板文件并修改:
cp Makefile.config.example Makefile.config
关键配置项:
USE_CUDNN := 1 CUDA_DIR := /usr/local/cuda-8.0 ANACONDA_HOME := $(HOME)/anaconda2 PYTHON_INCLUDE := $(ANACONDA_HOME)/include \ $(ANACONDA_HOME)/include/python2.7 \ $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include PYTHON_LIB := $(ANACONDA_HOME)/lib WITH_PYTHON_LAYER := 1
修改include路径:
# 在Makefile.config中添加 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/include/hdf5/serial LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
make all -j$(nproc) # 使用所有CPU核心 make pycaffe # 编译Python接口 make test make runtest # 运行测试套件
CUDA版本不匹配:
sudo rm /usr/local/cuda sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda
ProtoBuffer版本冲突:
conda remove protobuf pip install protobuf==3.1.0
缺少lmdb:
sudo apt-get install liblmdb-dev
import caffe print(caffe.__version__) # 应输出1.0.0
在~/.bashrc中添加:
export CAFFE_ROOT=/path/to/caffe export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH
cd $CAFFE_ROOT ./data/mnist/get_mnist.sh ./examples/mnist/create_mnist.sh ./examples/mnist/train_lenet.sh
tar -xzvf cudnn-8.0-linux-x64-v5.1.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
conda install -c menpo opencv3 # 修改Makefile.config中OpenCV版本设置
通过上述步骤,我们成功在Ubuntu 14.04上构建了基于CUDA 8.0和Python 2.7的Caffe深度学习环境。需要注意的是,随着软件版本的迭代,部分依赖可能需要调整版本号。建议在安装过程中: 1. 仔细阅读终端错误信息 2. 优先使用conda管理Python依赖 3. 保持各组件版本兼容性
注:本文档最后更新于2023年,部分软件源可能已失效,建议通过官方归档站点获取历史版本安装包。 “`
该文档共约2450字,采用Markdown格式编写,包含: 1. 7个主要章节 2. 20+个可执行的代码块 3. 关键配置项的详细说明 4. 常见问题解决方案 5. 版本兼容性提示
可根据实际环境情况调整具体路径和版本号。建议在干净的conda环境中操作以避免依赖冲突。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。