Ubuntu14.04+CUDA8.0+Anaconda2+Python2.7下如何编译Caffe

发布时间:2021-11-16 09:38:11 作者:小新
来源:亿速云 阅读:150
# 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)

1.2 显卡驱动安装

  1. 查询推荐驱动版本:
ubuntu-drivers devices
  1. 安装专有驱动(以NVIDIA-384为例):
sudo apt-get install nvidia-384 nvidia-settings

1.3 CUDA 8.0安装

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状态

二、Anaconda2环境配置

2.1 安装Anaconda2

wget https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh
bash Anaconda2-4.2.0-Linux-x86_64.sh

2.2 创建专用环境(可选)

conda create -n caffe_py27 python=2.7
source activate caffe_py27

2.3 安装基础依赖

conda install numpy scipy matplotlib scikit-image pip
pip install --upgrade pip

三、Caffe编译准备

3.1 安装系统级依赖

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

3.2 获取Caffe源码

git clone https://github.com/BVLC/caffe.git
cd caffe
git checkout -b v1.0 1.0  # 使用稳定版本

3.3 Python环境配置

conda install -y \
    cython \
    ipython \
    h5py \
    pandas \
    protobuf
pip install python-dateutil --upgrade

四、编译配置调整

4.1 修改Makefile.config

复制模板文件并修改:

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

4.2 解决HDF5路径问题

修改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

五、编译与测试

5.1 执行编译

make all -j$(nproc)  # 使用所有CPU核心
make pycaffe  # 编译Python接口
make test
make runtest  # 运行测试套件

5.2 常见错误解决

  1. CUDA版本不匹配

    sudo rm /usr/local/cuda
    sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda
    
  2. ProtoBuffer版本冲突

    conda remove protobuf
    pip install protobuf==3.1.0
    
  3. 缺少lmdb

    sudo apt-get install liblmdb-dev
    

5.3 验证安装

import caffe
print(caffe.__version__)
# 应输出1.0.0

六、环境集成

6.1 添加环境变量

在~/.bashrc中添加:

export CAFFE_ROOT=/path/to/caffe
export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH

6.2 测试MNIST示例

cd $CAFFE_ROOT
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
./examples/mnist/train_lenet.sh

七、扩展配置(可选)

7.1 启用CuDNN加速

  1. 下载CuDNN v5.1 for CUDA 8.0
  2. 解压后复制文件:
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

7.2 OpenCV 3.x支持

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环境中操作以避免依赖冲突。

推荐阅读:
  1. gradle在unix下编译
  2. 使用anaconda安装caffe

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ubuntu

上一篇:php如何读大文件某几行

下一篇:php blob如何转base64

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》