Ubuntu的官方安装方法http://caffe.berkeleyvision.org/install_apt.html
Ubuntu版本(>= 17.04)运行简单的命令就可以的
CPU版本:
sudo apt install caffe-cpu
GPU版本:
sudo apt install caffe-cuda
对于版本为Ubuntu16.04的,安装的流程:
首先安装opencv
先下载并安装opencv3.4,https://opencv.org/opencv-3-4.html,下载的是Sources版本,下载好以后,解压到~目录,重命名为opencv
安装必要的包
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install python-pip
sudo apt-get install python3-pip
pip install numpy
pip3 install numpy
创建build文件夹
cd ~/opencv
mkdir build
cd build
编译的选项,官方文档中有说明具体的选项含义,可以根据需要选择性的使用,如果安装了anaconda,编译前先注释掉anaconda的环境变量
cmake
-D WITH_IPP=OFF #是否要安装IPP
-D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local #编译的路径
-D BUILD_opencv_python3=ON #是否编译Python3的库
-D BUILD_opencv_python2=ON .. #是否编译Python2的库
开始编译文件
make -j5 # runs 7 jobs in parallel
安装库文件
sudo make install
Python中验证安装是否完成:
import cv2
cv2.__version__
如果报错可以搜cv2.cpython-36m-x86_64-linux-gnu.so这个文件 然后复制到./lib/python3.6/site-packages库文件夹中
安装caffe
先下载caffe源码
git clone https://github.com/BVLC/caffe.git
安装依赖环境:
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 libgflags-dev libgoogle-glog-dev liblmdb-dev libatlas-base-dev libboost-all-dev
添加Makefile文件
cd ~/caffe
cp Makefile.config.example Makefile.config #也可以复制粘贴再重命名
编辑sudo gedit Makefile.config,
INCLUDE_DIRS和LIBRARY_DIRS处增加代码为:
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/hdf5/serial
# CPU_ONLY := 1去掉#注释 CPU_ONLY := 1
#USE_OPENCV := 0去掉#注释 USE_OPENCV := 1
#OPENCV_VERSION := 3去掉#注释 OPENCV_VERSION := 3
开始编译:
cd ~/caffe
make all
make test
make runtest
test通过会有PASSED出现
接着编译pycaffe:
安装Python接口依赖库
在caffe根目录下,有个python文件夹,文件夹里面有个requirements.txt,里面有需要的依赖库和版本信息,按照其安装即可,在安装前,需要先安装fortran编辑器(gfrotran),因为安装scipy库时需要它命令:
sudo apt-get install gfortran
cd ~/caffe/python
for req in $(cat requirements.txt); do pip install $req; done
for req in $(cat requirements.txt); do pip3 install $req; done
将caffe根目录下的python文件夹加入到环境变量
先打开配置文件bashrc
sudo gedit ~/.bashrc
在文件的最后面添加
export PYTHONPATH=/home/用户名/caffe/python:$PYTHONPATH
最后使之生效:
source ~/.bashrc
编译python接口
cd ~/caffe/
make pycaffe
验证是否完成:
python
import caffe
如果导入成功,那就没问题,如果报错No module named skimage.io,是matplotlib的安装有问题,Matplotlib 3.0+ does not support Python 2.x, 3.0, 3.1, 3.2, 3.3, or 3.4.
可以安装低版本的skimage
pip install scikit-image==0.10.0
MNIST数据集的LeNet测试: 官网的介绍 Training LeNet on MNIST with Caffe
准备数据集并转换格式
cd ~/caffe
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
在./examples/mnist文件夹中生成新的文件夹mnist_test_lmdb、mnist_train_lmdb
修改./examples/mnist/lenet_solver.prototxt文件,最后修改为CPU,然后开始运行
./examples/mnist/train_lenet.sh
其中网络的定义文件是./examples/mnist/lenet_train_test.prototxt,训练的配置文件是lenet_solver.prototxt
输出的模型文件在目录./examples/mnist中,关于网络的定义和具体含义可以参看官方的教程
参考的内容:
http://blog.sina.com.cn/s/blog_e5ef40140102wyq8.html
https://blog.csdn.net/u010193446/article/details/53259294
https://blog.csdn.net/hjxu2016/article/details/70256147
http://caffe.berkeleyvision.org/install_apt.html