Ubuntu18.04下caffe环境搭建

caffe环境搭建,傻瓜式教程来一波
caffe作为多年的经典工具,教程一搜一大堆,但是适合自己与否只有试过才知道。
Python2.7
cuda9.0
cuDNN 7.0
MX150

安装步骤如下

# caffe 官网依赖库安装
for req in $(cat requirements.txt); do pip install $req; done
# 也可一个个安装
sudo apt-get install libprotobuf-dev 
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev 
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-pip
sudo apt-get install gfortran
sudo apt-get install python-protobuf
sudo apt-get install python-skimage
sudo apt-get install --no-install-recommends libboost-all-dev  
sudo apt-get install git cmake

下载caffe文件包,修改Makefile.config文件

git clone git://github.com/BVLC/caffe.git
cd caffe/
cp Makefile.config.example Makefile.config

打开Makefile.config文件
1、取消# USE_CUDNN := 1的注释
2、取消# OPENCV_VERSION := 3的注释
3、“提醒compute=20”有error的话,加#
CUDA_ARCH := # -gencode arch=compute_20,code=sm_20 \
        # -gencode arch=compute_20,code=sm_21 \
4、修改下面HDF5文件引用路径问题
#whateber else you need goes here
INCLUDE_DIRS :=$(PYTHON_INCLUDE)/usr/local/include  /usr/include/hdf5/serial
LIBABRY_DIRS :=$(PYTHON_LIB) /usr/local/lib  usr/lib  /usr/lib/x86_64-linux-gnu/hdf5/serial
5、取消# WITH_PYTHON_LAYER := 1的注释

实现编译

make all -j8
make install
sudo make runtest

image

image
在编译caffe如果报的错关于Google或者protobuf的,多可能是protoc的版本问题,很多博客说,caffe默认支持2开头版本,而一般安装了anocanda的小伙伴,默认自带protoc3.4版本。
protoc版本混乱是一个让人很头大的过程,一天的3/4时间,我都是在解决这个问题。
可以使用下面语句查看自己的电脑上的protoc版本,参考自安装caffe以及和anaconda3 python3 import时关于protobuf版本不同的问题

whereis protoc  #查看那些路径下安装了protobuf
which protoc  #查看默认选用的protobuf
protoc --version  #查看当前默认的protobuf的版本
sudo protoc --version  #查看系统的protobuf的版本

通过which protoc确定自己要用的版本,最好用2开头的版本吧,anaconda自带的,我make all的时候均告失败。
由于我把自带的/usr/bin/protoc文件给删了,也不知道系统默认是什么的了,如果大家查看是所需要版本,可跳过如下步骤。安装libprotoc 2.6.1参考自博客ubuntu 14.04下安装protobuf2.6.1
可严格按照上述博客内容进行安装,尤其下面步骤必不可少,是能不能which到该版本的关键:
在/etc/ld.so.conf.d/目录下创建文件bprotobuf.conf文件

cd /etc/ld.so.conf.d/
sudo vi bprotobuf.conf
###>>写入内容/usr/local/lib 
sudo ldconfig

https://blog.csdn.net/u013249853/article/details/79827486
https://blog.csdn.net/yhaolpz/article/details/71375762
protoc google出现问题,修改makefile,见https://blog.csdn.net/jiachen0212/article/details/79578458
anaconda版本也可以实验http://www.cnblogs.com/TiBAi/p/6848307.html

更新(update):

caffe真的很容易出错,如下mnist测试过程

cd ~/caffe
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
./examples/mnist/train_lenet.sh

出错信息:Check failed: error == cudaSuccess (30 vs. 0) unknown error
image
解决方法,sudo

sudo ./examples/mnist/train_lenet.sh

image

猜你喜欢

转载自blog.csdn.net/u010801994/article/details/81745513