A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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.1与cuda8.0不兼容导致的。

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



编译成功后在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

---------------------
作者:蹦跶的小羊羔
来源:CSDN
原文:https://blog.csdn.net/yql_617540298/article/details/82718889
版权声明:本文为博主原创文章,转载请附上博文链接!

2 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马