记录虚拟机virtualBox安装caffe(仅CPU)的过程

虚拟机virtualBox安装caffe(CPU)

  • 安装caffe的依赖项

打开终端输入以下命令安装caffe的依赖项

sudo apt-get install git

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

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

sudo apt-get install libatlas-base-dev

sudo apt-get install python-dev

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

  • 安装caffe

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

cd caffe

mv Makefile.config.example Makefile.config

  • 配置caffe的环境
  1. 在Makefile.config文件打开CPU_ONLY选项,保存。

虚拟机virtualBox安装caffe(仅CPU)

 

  1. 修改INCLUDE_DIRS,将第一行改为第二行。

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

虚拟机virtualBox安装caffe(仅CPU)

  1. 在Makefile文件中将下面第一行改为第二行。

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdh5

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdh5_serial

虚拟机virtualBox安装caffe(仅CPU)

 

  1. 再次修改Makefile文件,在LIBRARIES += opencv_core opencv_highgui opencv_imgproc后面加上opencv_imgcodes

完整代码如下:

LIBRARIES += opencv_core opencv_highgui opencv_imgproc opencv_imgcodes

虚拟机virtualBox安装caffe(仅CPU)

  • 编译caffe。

在终端输入make -j4。出现以下结果代表编译成功。

虚拟机virtualBox安装caffe(仅CPU)

...........

虚拟机virtualBox安装caffe(仅CPU)

(中间省略了很多的内容,只截取了最后的一部分)

注意:在make -j4的过程中如果出错了,修改出错的内容,再make clean后在次make -j4

  • 解决问题

错误1:在make -j4的时候出现以下问题。

虚拟机virtualBox安装caffe(仅CPU)

解决方案:

修改Makefile文件,在LIBRARIES += opencv_core opencv_highgui opencv_imgproc后面加上opencv_imgcodes

完整代码:LIBRARIES += opencv_core opencv_highgui opencv_imgproc opencv_imgcodes

虚拟机virtualBox安装caffe(仅CPU)

错误2:以下的错误就表示上面那个问题的路径加错了。如果是按照上面的方法加的路径不会出现下面这个问题。

虚拟机virtualBox安装caffe(仅CPU)

  • 运行mnist数据集模型。

1、首先将路径切换到caffe的根目录下,在终端输入以下命令:

cd caffe

虚拟机virtualBox安装caffe(仅CPU)

进行原数据集的下载。

./data/mnist/get_mnist.sh

虚拟机virtualBox安装caffe(仅CPU)

虚拟机virtualBox安装caffe(仅CPU)

3、将上面的二进制文件转换为leveldb或者lmdb文件。

sh examples/mnist/create_mnist.sh

虚拟机virtualBox安装caffe(仅CPU)

运行完上面的步骤就会出现下面两个文件:mnist_test_lmdb和mnist_train_lmdb

虚拟机virtualBox安装caffe(仅CPU)

 

4、配置lenet网络。

如果使用CPU训练,那就要在lenet_solver.prototxt 文件中修改训练模式为CPU。

打开lenet_solver.prototxt 文件,在终端输入以下命令:

sudo gedit ./examples/mnist/lenet_solver.prototxt

虚拟机virtualBox安装caffe(仅CPU)

问题:在打开过程中如果出现以下所示的错误,就表示该文件是私有文件,只有改变文件属性后才能打开。

虚拟机virtualBox安装caffe(仅CPU)

解决方案:

xhost +

sudo gedit ./examples/mnist/lenet_solver.prototxt

虚拟机virtualBox安装caffe(仅CPU)

5、训练lenet网络。

sudo ./examples/mnist/train_lenet.sh

虚拟机virtualBox安装caffe(仅CPU)

........(中间有很多内容省略)

虚拟机virtualBox安装caffe(仅CPU)

如果只用CPU训练,要1个小时左右。

分析结果

Lenet最终训练模型的权值保存地址:examples/mnist/lenet_iter_10000.caffemodel

Lenet训练状态保存地址:examples/mnist/lenet_iter_10000.solverstate

最终迭代次数:10000次

最终准确率为:99.6%

最终损失率:2.86%