本文章主要引用《21天實(shí)戰(zhàn)Caffe》的方法砰诵,并將一些Ubuntu16.04可能會遇到的問題加以描述和總結(jié)。這篇之前需要配置深度學(xué)習(xí)環(huán)境徒溪,安裝過程不再贅述梳侨,請參考文章:深度學(xué)習(xí)主機(jī)環(huán)境配置:Ubuntu16.04+GTX 1080+CUDA8.0+CUDNN5.1
1. 安裝Caffe依賴包
在Ubuntu16.04系統(tǒng)中,Caffe的所有依賴包都可以用apt-get搞定材蛛。
sudo apt-get -y install git
sudo apt-get -y install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get -y install --no-install-recommends libboost-all-dev
sudo apt-get -y install libatlas-base-dev
sudo apt-get -y install python-dev (貌似Ubuntu16.04已經(jīng)包含了python包)
sudo apt-get -y install libgflags-dev libgoogle-glog-dev liblmdb-dev
Caffe所需要的安裝就這樣輕輕松松搞定啦圆到!
2. 下載Caffe源碼:
git clone https://github.com/bvlc/caffe.git
cd caffe
mv Makefile.config.example Makefile.config
3. 修改Makefile.config文件
gedit Makefile.config ? (修改Makefile.config文件)
1) 根據(jù)自己的GPU型號修改arch值,由于我的是GTX1080卑吭,對應(yīng)性能61芽淡,此處?可查看所以保留50,52,60,61,其他全部注釋掉或干脆刪掉豆赏。修改為:
#CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
# ? ? ? ? ? ? ? ? ? ? ? ? ? -gencode arch=compute_20,code=sm_21 \
# ? ? ? ? ? ? ? ? ? ? ? ? ? -gencode arch=compute_30,code=sm_30 \
# ? ? ? ? ? ? ? ? ? ? ? ? ? -gencode arch=compute_35,code=sm_35 \
CUDA_ARCH := -gencode arch=compute_50,code=sm_50 \
? ? ? ? ? ? ? ? ? ? ? ? ? ? -gencode arch=compute_52,code=sm_52 \
? ? ? ? ? ? ? ? ? ? ? ? ? ? -gencode arch=compute_60,code=sm_60 \
? ? ? ? ? ? ? ? ? ? ? ? ? ? -gencode arch=compute_61,code=sm_61 \
# ? ? ? ? ? ? ? ? ? ? ? ? ?-gencode arch=compute_61,code=compute_61
2)將以下兩行:
INCLUDE_DIRS:=$(PYTHON_INCLUDE) /usr/local/include
LIBRARIES +=glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
修改為:
INCLUDE_DIRS:=$(PYTHON_INCLUDE) /usr/local/include/usr/include/hdf5/serial/
LIBRARIES +=glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
修改Makefile.config之后挣菲,保存,就可以進(jìn)行編譯了掷邦!
make -j
測試caffe訓(xùn)練mnist數(shù)據(jù)集
cd data/mnist/
./get_mnist.sh ?(下載mnist數(shù)據(jù)集)
cd?
cd caffe
./examples/mnist/create_mnist.sh (轉(zhuǎn)換格式)
./examples/mnist/train_lenet.sh (訓(xùn)練)
用訓(xùn)練好的模型對數(shù)據(jù)進(jìn)行預(yù)測:
./build/tools/caffe.bin test -model examples/mnist/lenet_train_test.prototxt -weights examples/mnist/lenet_iter_10000.caffemodel -iterations 100
就此白胀,Ubuntu16.04 下的caffe就編譯好了,可以開始你的caffe之旅啦抚岗!如有任何疑問或杠,歡迎給小編留言!