本文章主要引用《21天实战Caffe》的方法,并将一些Ubuntu16.04可能会遇到的问题加以描述和总结。这篇之前需要配置深度学习环境,安装过程不再赘述,请参考文章:深度学习主机环境配置:Ubuntu16.04+GTX 1080+CUDA8.0+CUDNN5.1
1. 安装Caffe依赖包
在Ubuntu16.04系统中,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已经包含了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) 根据自己的GPU型号修改arch值,由于我的是GTX1080,对应性能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之后,保存,就可以进行编译了!
make -j
测试caffe训练mnist数据集
cd data/mnist/
./get_mnist.sh (下载mnist数据集)
cd
cd caffe
./examples/mnist/create_mnist.sh (转换格式)
./examples/mnist/train_lenet.sh (训练)
用训练好的模型对数据进行预测:
./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之旅啦!如有任何疑问,欢迎给小编留言!