ubuntu 16.04 下配置intel/caffe

来源:互联网 发布:数控车床软件编程 编辑:程序博客网 时间:2024/06/04 18:32

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

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

安装依赖

sudo apt-get updatesudo apt-get install build-essential cmake git pkg-configsudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compilersudo apt-get install libatlas-base-devsudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devsudo apt-get install libopencv-dev

下载intel/caffe

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

修改配置

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

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

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

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

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

[  FAILED  ] 1 test, listed below:[  FAILED  ] MKLDNNPoolingLayerTest/0.TestForwardAve, where TypeParam = caffe::CPUDevice<float>Makefile:701: recipe for target 'runtest' failedmake: *** [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秒,这就是差距啊!

附录

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

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