Caffe:CPU模式下使用Intel MKL做mnist训练

下载安装Intel MKL

打开这里Intel® Math Kernel Library (Intel® MKL),点击"Get This Library for Free"下载一个非商用的免费版本,很简单,只需要提供邮箱,然后按照步骤一步步来就行了,在下载界面上会有显示序列号,务必记下这个序列号。
这里写图片描述
以linux版本为例,我下载的文件为l_mkl_2017.0.098.tgz,解压缩后执行install.sh就开始安装了

#!/bin/sh
tar zxvf l_mkl_2017.0.098.tgz
cd mkl_2017.0.098
sudo ./install.sh
# 安装过程中注意看提醒,输入前面得到的序列号,除此之外一路都是默认安装

安装完成,安装文件的位置在/opt/intel

编译Caffe

安装MKL要用cmake重新生成Makefile文件并编译,执行代码如下,然后make Caffe

#!/bin/sh
# 执行cmake生成Makefile
mkdir build && cd build
cmake -DBLAS=MKL -DCPU_ONLY=ON -DBUILD_python=OFF -DBUILD_python_layer=OFF -DBoost_INCLUDE_DIR=/usr/include/boost148 -DBoost_LIBRARY_DIR=/usr/lib64/boost148 ..
# 开始编译 24线程
make install -j 24

-DBLAS=MKL指定BLAS使用MKL,
也可以用cmake-gui界面来选择使用MKL,然后点击"Generate"生成Makefile
这里写图片描述

关于CentOS6.5下编译Caffe的过程参见我的另一篇博客《CentOS6.5编译Caffe过程记录(系统存在多个编译器)》

编译完成后,ldd查看tools/caffe的动态库依赖,确认使用MKL
这里写图片描述

MNIST训练测试

这里假设你已经完成了mnist的数据下载及LMDB数据库创建,所以过程略过
在caffe根目录下执行如下命令开始mnist训练

export OPM_NUM_THREADS=4 && ./build/tools/caffe train --solver=examples/mnist/lenet_solver.prototxt

OPM_NUM_THREADS用于设置MKL的线程数,详细说明参见《Intel MKL 多线程设置》

在我的电脑上(CentOS6.5,双至强24核处理器/32GB),用时大约9分钟,比使用OpenBLAS-openmp快了大约1分钟,参见上一篇博文《Caffe:CPU模式下使用openblas-openmp(多线程版本)》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10km

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值