參考內(nèi)容:
Caffe官網(wǎng)
Caffe訓(xùn)練自己的數(shù)據(jù)集并用python接口預(yù)測(cè)
虛擬機(jī)Ubuntu16,caffe環(huán)境搭建
Ubuntu16.04+CUDA8.0+caffe配置
Ubuntu 16.04 安裝配置Caffe 圖文詳解
虛擬機(jī)下Ubuntu安裝CPU版本的caffe
Ubuntu 16.04上安裝Caffe CPU only
安裝Ubuntu16.04.01
- 在Virtual Box中新建,選擇Ubuntu 64位,設(shè)置4G內(nèi)存,動(dòng)態(tài)分配最大50G;
- 雙擊系統(tǒng)圖標(biāo),在提示框中選擇從官網(wǎng)下載好的Ubuntu16系統(tǒng)鏡像(ubuntu-16.04.1-desktop-amd64.iso);
- 安裝類型中選擇“清楚整個(gè)磁盤并安裝Ubuntu”后,點(diǎn)擊現(xiàn)在安裝;
- 鍵盤布局探測(cè)為英語(美國(guó)),然后設(shè)置虛擬機(jī)名字和密碼,密碼在后續(xù)使用中常用,因此設(shè)置應(yīng)注意長(zhǎng)度;
- 重啟后,選擇設(shè)備-分配光驅(qū)-移除虛擬盤,回車后進(jìn)入系統(tǒng)。
安裝caffe
參見官網(wǎng)
1. 安裝前
sudo apt-get update #更新軟件列表
sudo apt-get upgrade #更新軟件依賴包
sudo apt-get install -y build-essential #編譯工具,通常已安裝
sudo apt-get install -y cmake
sudo apt-get install -y git
sudo apt-get install -y pkg-config #編譯輔助工具,通常已安裝
#【https://www.aikaiyuan.com/6387.html】
#不安裝下列依賴包,后續(xù)使用make編譯時(shí)找不到gflags和glog
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2. 安裝前置依賴包
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 libatlas-base-dev #BLAS安裝ATLAS庫(kù),線性代數(shù)庫(kù)
sudo apt-get install python-dev
#網(wǎng)絡(luò)下載慢時(shí)會(huì)出現(xiàn)校驗(yàn)和不符,多試幾次
3. 使用Nvida GPU,安裝CUDA
虛擬機(jī)無法使用GPU
暫不安裝CUDA和cuDNN
暫不安裝opencv
4. 下載并配置caffe
- 下載caffe:
git clone https://github.com/BVLC/caffe.git
- ** 配置python:**
安裝pip
sudo apt-get install python-pip
pip -V #查看版本,python2.7
安裝python必要庫(kù)
cd caffe
cat python/requirements.txt | xargs -L 1 sudo pip install
添加軟鏈
sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7
sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ /usr/local/include/python2.7/numpy
-
配置文件Makefile.config
進(jìn)入caffe目錄
cp Makefile.config.example Makefile.config
vim Makefile.config
#去掉CPU_ONLY:=1的注釋
#在PYTHON_INCLUDE下把
# /usr/lib/python2.7/dist-packages/numpy/core/include
#改為
# /usr/local/lib/python2.7/dist-packages/numpy/core/include
-
編譯caffe
直接編譯caffe,提示沒有hdf5.h,在Makefile.config 94行修改如下:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
改為
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
因?yàn)閡buntu16.04的文件包含位置發(fā)生了變化,尤其是需要用到的hdf5的位置,所以需要更改這一路徑,參考。然后繼續(xù)編譯caffe:
make all
make test
make runtest
make pycaffe
出現(xiàn)下圖配置成功:
runtest
也可通過python中import caffe不報(bào)錯(cuò)檢驗(yàn):
import caffe
5. 運(yùn)行MNIST
- 按照官網(wǎng)示例運(yùn)行,首先準(zhǔn)備數(shù)據(jù)集:
cd ~/caffe #將終端定位到Caffe根目錄
./data/mnist/get_mnist.sh #下載MNIST數(shù)據(jù)庫(kù)并解壓縮
./examples/mnist/create_mnist.sh #將其轉(zhuǎn)換成Lmdb數(shù)據(jù)庫(kù)格式
- 編輯lenet_solver的solver_mode模式從GPU改為CPU:
vim ./examples/mnist/lenet_solver.prototxt
#改為solver_mode: CPU
- 訓(xùn)練模型:
cd $CAFFE_ROOT
./examples/mnist/train_lenet.sh
- 訓(xùn)練結(jié)果:
訓(xùn)練結(jié)果