歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 16.04安裝Caffe並訓練MNIST

Ubuntu 16.04安裝Caffe並訓練MNIST

日期:2017/2/28 13:49:15   编辑:Linux教程

今天介紹一下如何在Ubuntu下安裝Caffe並且訓練MNIST。當然,第一手的資料同樣來自於Caffe官網(http://caffe.berkeleyvision.org/),Ubuntu版本是16.04,Caffe是CPU-ONLY的版本。

Caffe安裝

通過下面的命令安裝protobuf,leveldb,snappy,opencv,hdf5,boost依賴庫,其中最需要注意的是hdf5。

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


接著安裝BLAS庫,

sudo apt-get install libatlas-base-dev

之後是gflags,glog和lmdb,

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


如果不出意外的話,上面多個依賴庫安裝都非常順利,讓人有點懷疑,但是裡面hdf5這個庫有個坑,之後會提到。

用如下命令將Caffe源碼克隆到桌面,路徑是’Desktop/caffe/’,為了方便將Caffe主路徑用$CAFFE_ROOT代替,

git clone https://github.com/BVLC/caffe
cd Desktop/caffe/


其中需要將Makefile.config.example拷貝一份成Makefile.config,這樣之後才能make。另外Makefile.config需要進行修改,去掉CPU_ONLY := 1的注釋,這樣Caffe就只運行在CPU上了。

cp Makefile.config.example Makefile.config
make all
make test
make runtest


在make all這一步遇到了一些問題,首先是找不到hdf5.h,在Makefile.config中INCLUDE_DIRS後添加/usr/include/hdf5/serial即可繼續編譯。

src/caffe/layers/hdf5_data_layer.cpp:13:18: fatal error: hdf5.h: No such file or directory


但是此後又出現如下問題,

/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5


可以在LIBRARY_DIRS後添加/usr/lib/x86_64-linux-gnu/hdf5/serial/,最終Makefile.config文件對應部分修改如下,

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/


以上的操作保證Caffe編譯過程中可以找到hdf5的頭文件和共享庫文件。


最終的make runtest可以看到如下圖的結果,保證Caffe安裝成功,

MNIST訓練

之前將Caffe的環境搭好了,現在用MNIST這個數據集進行測試,繼續在$CAFFE_ROOT下進行操作。

./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh


經過上述操作./examples/mnist/路徑下會有mnist_test_lmdb和mnist_train_lmdb兩個文件夾,分別是測試和訓練數據。

在最終訓練之前需要修改./examples/mnist/lenet_solver.prototxt最後一句話為,

solver_mode: CPU


這樣保證整個訓練過程在CPU上進行,最後執行訓練命令,

cd $CAFFE_ROOT
./examples/mnist/train_lenet.sh


看到如下效果:

一共迭代10000次,准確率為0.9915,最後訓練的model為./examples/mnist/lenet_iter_10000.caffemodel。

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安裝 http://www.linuxidc.com/Linux/2016-07/132860.htm

Ubuntu 16.04系統下CUDA7.5配置Caffe教程 http://www.linuxidc.com/Linux/2016-07/132859.htm

Caffe在Ubuntu 14.04 64bit 下的安裝 http://www.linuxidc.com/Linux/2015-07/120449.htm

深度學習框架Caffe在Ubuntu下編譯安裝 http://www.linuxidc.com/Linux/2016-07/133225.htm

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置說明 http://www.linuxidc.com/Linux/2015-04/116444.htm

Ubuntu 16.04上安裝Caffe http://www.linuxidc.com/Linux/2016-08/134585.htm

Caffe配置簡明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 ) http://www.linuxidc.com/Linux/2016-09/135016.htm

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved