Caffe-GPU 在 Ubuntu 下的安装

1. 前期准备

2. 配置 Caffe-gpu

2.1 安装 caffe 依赖项

sudo apt install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt install --no-install-recommends libboost-all-dev
sudo apt install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt install libgflags-dev libgoogle-glog-dev liblmdb-dev

2.2 下载 Caffe

git clone git@github.com:BVLC/caffe.git
cd caffe

2.3 修改 Makefile.config 文件

由于 make 指令只能 make Makefile.config 文件,而 Makefile.config.example 是 caffe 给出的 makefile 例子。因此,首先将 Makefile.config.example 的内容复制到 Makefile.config:

sudo cp Makefile.config.example Makefile.config

2.3.1 打开开关

如果需要使用 cudnn,则打开 cudnn 注释;如果使用 opencv3,则打开 opencv3 的注释;如果需要使用 python 编写 layer,则打开 python 开关,如下:

#USE_CUDNN:= 1 =====> USE_CUDNN:= 1
#OPENCV_VERSION:= 3 =====> OPENCV_VERSION:= 3
#WITH_PYTHON_LAYER:= 1 =====> WITH_PYTHON_LAYER:= 1

2.3.2 一个重要的修改

因为 Ubuntu18.04 的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径。将 #Whatever else you find you need goes here. 下面的内容按照如下方式修改:

INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include =====> INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib =====> LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

2.4 修改 Makefile 文件

NVCCFLAGS += -ccbin=$(CXX) -Xcompiler-fPIC$(COMMON_FLAGS) =====> NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

2.5 编译 caffe

编译指令如下:

make all -j8

如果中间出现编译错误,一定要耐心寻找解决方案,解决方案主要是修改 Make.config 文件和 Makefile 文件,修改之后,先清除错误编译,再重新编译:

sudo make clean
make all -j8

2.6 趟坑记录

下面记录了一些我遇到过的一些坑

2.6.1 nvcc fatal

编译过程中错误提示如下:

NVCC src/caffe/layers/bnll_layer.cu
nvcc fatal   : Unsupported gpu architecture 'compute_20'
Makefile:594: recipe for target '.build_release/cuda/src/caffe/layers/bnll_layer.o' failed
make: *** [.build_release/cuda/src/caffe/layers/bnll_layer.o] Error 1
make: *** Waiting for unfinished jobs....

修改 Makefile.config 中的 CUDA_ARCH 的设置,由于我的 CUDA 版本是 10.0,所以将以下两行删除或者注释掉,如下:

2.6.2 Makefile:635

编译过程中报错如下:

Makefile:635 recipe for target ‘.build_release/tools/convert_imageset.bin’ failed

修改 Makefile 文件,在

LIBRARIES += opencv_core opencv_highgui opencv_imgproc

后面添加 opencv_imgcodecs,如下

3. 测试

Caffe 配置完成后,利用 MNIST 数据集进行测试。进入 caffe 编译目录,执行以下命令:

./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
./examples/mnist/train_lenet.sh

测试效果如下:

也可以按照以下方式,直接编译 runtest 文件:

make runtest

看到如下结果,则说明 caffe 已经安装成功

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值