ubuntu 16.04 下配置intel/caffe

本文是对开始深度学习之旅——caffe安装的补充。

在安装好ubuntu 16.04后,接下来的步骤同在deepin上的操作。

安装依赖

sudo apt-get update
sudo apt-get install build-essential cmake git pkg-config -y
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler -y
sudo apt-get install libatlas-base-dev -y
sudo apt-get install --no-install-recommends libboost-all-dev -y
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev -y
sudo apt-get install libopencv-dev -y
sudo apt install rsync -y
sudo apt-get install build-essential cmake git pkg-config  libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler  libatlas-base-dev  libgflags-dev libgoogle-glog-dev liblmdb-dev  libopencv-dev  rsync -y
sudo apt-get install --no-install-recommends libboost-all-dev -y

下载intel/caffe

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

修改配置

下载完成后拷贝配置文件,并添加头文件和库

cd caffe/
cp Makefile.config.example Makefile.config

配置文件Makefile.config中需要修改的地方

# 添加/usr/include/hdf5/serial
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
# /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/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

编译并测试

运行make all -j4后,会自动下载mkl,然后下载mklnn并安装。我用deepin的时候就卡在这里,总是下载不下来。ubuntu稍微卡一下后就下载完了。

make all -j4
make test
make runtest

在我运行测试后,有一个测试同不过。

[  FAILED  ] 1 test, listed below:
[  FAILED  ] MKLDNNPoolingLayerTest/0.TestForwardAve, where TypeParam = caffe::CPUDevice
Makefile:701: recipe for target 'runtest' failed
make: *** [runtest] Error 1

使用mnist手写数据集进行训练和测试

获取数据集

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

训练并测试

# 训练
./build/tools/caffe train --solver=examples/mnist/lenet_solver.prototxt
# 测试
./build/tools/caffe test --model=examples/mnist/lenet_train_test.prototxt --weights=examples/mnist/lenet_iter_10000.caffemodel --iterations=100

训练时间截图


测试太快了,不到3秒跑完。

感慨一下

intel/caffe在mkl的加持下确实是速度提升了很多很多。我之前用BLVC/caffe,使用mnist训练LeNet的时候,迭代100次时间大约是10s多,而使用intel/caffe只要2-3秒,这就是差距啊!

编译pycaffe

cd到python目录
我的目录是~/src/caffe-1.1.0/python

for req in $(cat requirements.txt); do pip install $req; done

速度可能比较慢,可以换源快一些。参考python换源
下载完成后

make pycaffe

附录

本文中配置过程可以参考intel

  • 文档 10th SWC Webinar
  • 视频 2017 Webinar 视频

你可能感兴趣的:(环境搭建,软创)