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
版权声明:本文为博主原创文章,转载请附上博文链接!
|
|