Ubuntu16.4配置caffe详细流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yql_617540298/article/details/82718889

ubuntu配置caffe总体流程大体分为以下几步骤:

(1)安装依赖包 
(2)禁用 nouveau 
(3)配置环境变量 
(4)下载 CUDA 8.0 
(5)安装 CUDA 8.0 
(6)验证 CUDA 8.0 是否安装成功 
(7)安装 cudnn 
(8)安装 opencv3.1 
(9)安装 caffe 
(10)安装 pycaffe notebook 接口环境

但是,本博文针对大多数服务器中的情况,CUDA、cudnn已经安装OK,同时服务器中安装了anaconda。

一、第一步:安装依赖包

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install git cmake build-essential

安装成功后,再次安装则会显示版本。

二、第二步:安装opencv3.1

进入到opencv官方:http://opencv.org/releases.html

选择 3.1.0 版本的 source , 下载 opencv-3.1.0.zip;

进入到该目录下

cd opencv-3.1.0
mkdir build # 创建编译的文件目录
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j8  #编译

大概编译到92%的时候会出现很多错误:

原因就是由于opecv3.1cuda8.0不兼容导致的。

【解决方法】修改 /opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp 文件内容

扫描二维码关注公众号,回复: 3522878 查看本文章

编译成功后在build目录下安装:

sudo make install #安装

之后查看版本号:

pkg-config --modversion opencv

得到显示结果:

三、第三步:caffe安装

从github官网中下载caffe

git clone https://github.com/BVLC/caffe.git

复制Makefile.config.example到Makefile.config文件:

sudo cp Makefile.config.example Makefile.config

修改 Makefile.config 文件内容

将#USE_CUDNN := 1修改成:USE_CUDNN := 1
将#OPENCV_VERSION := 3 修改为:OPENCV_VERSION := 3
将#WITH_PYTHON_LAYER := 1 修改为 :WITH_PYTHON_LAYER := 1
修改 python 路径
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

这里有Makefile.config文件:

https://download.csdn.net/download/yql_617540298/10668763

编译caffe:

make all

四、出现错误

1. 编译的时候出现warning: The 'compute_20' and 'sm_20' architectures are deprecated

makefile.config中将

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
        -gencode arch=compute_20,code=sm_21 \
        -gencode arch=compute_30,code=sm_30 \
        -gencode arch=compute_35,code=sm_35 \
        -gencode arch=compute_50,code=sm_50 \
        -gencode arch=compute_50,code=compute_50

改为:

CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
        -gencode arch=compute_35,code=sm_35 \
        -gencode arch=compute_50,code=sm_50 \
        -gencode arch=compute_50,code=compute_50

2. 报错'.build_release/lib/libcaffe.so.1.0.0' failed sudo ln -s /usr/lib/x86_64-linux-gnu/libcaffe.so.1.0.0 /usr/lib/libcaffe.so.1.0.0

可能是libboost_thread.so路径出现问题;

#查找libboost_thread.so的位置

locate libboost_thread.so

#将其链接至/usr/lib下,此处查出来的路径是/usr/lib/x86_64-linux-gnu/libboost_thread.so,其他路径根据情况替换

sudo ln -sf /usr/lib/x86_64-linux-gnu/libboost_system.so /usr/lib/libboost_thread.so

3. //home/idc/anaconda3/lib/libpng16.so.16: undefined reference to `inflateValidate@ZLIB_1.2.9'

在Makefile.config加入:

LINKFLAGS := -Wl,-rpath,$(HOME)/anaconda3/lib

五、编译通过

make clean
make all

sudo make run
sudo make runtest

猜你喜欢

转载自blog.csdn.net/yql_617540298/article/details/82718889
今日推荐