基于英特尔® 至强 E5 系列处理器的单节点 Caffe 评分和训练
在互联网搜索引擎和医疗成像等诸多领域,深度神经网络 (DNN) 应用的重要性正在不断提升。 Pradeep Dubey 在其博文中概述了英特尔® 架构机器学习愿景。 英特尔正在实现 Pradeep Dubey 博文中勾勒的机器学习愿景,并正在着手开发软件解决方案以加速执行机器学习工作负载。这些解决方案将包含在未来版本的英特尔® 数学核心函数库(英特尔® MKL)和英特尔® 数据分析加速库(英特尔® DAAL)中。 本技术预览版展示了配备我们正在开发的软件后,英特尔平台将有望实现的性能。 这一版本仅可在支持英特尔® 高级矢量扩展指令集 2(英特尔® AVX2)的处理器上运行。 在未来的文章中,我们将介绍分布式多节点配置可带来的优势。
本文介绍的预览包功能有限,且并非设计用于生产用途。 此处讨论的特性现已在英特尔 MKL 2017 测试版和英特尔 Caffe 分支 (fork) 中推出。
Caffe 是伯克利愿景和学习中心 (Berkeley Vision and Learning Center, BVLC) 开发的一个深度学习框架,也是最常用的用于图像识别的社区框架之一。 Caffe 通常作为性能指标评测与 AlexNet(一种图像识别神经网络拓扑)和 ImageNet(一种标签图像数据库)一起使用。
Caffe 可充分利用英特尔 MKL 中优化的数学例程,同时也将可以通过应用代码现代化技术,进一步提升基于英特尔® 至强® 处理器的系统的性能。 通过合理使用英特尔 MKL、矢量化和并行化技术,相比未优化的 Caffe 方案,经过优化的方案有望将训练性能提升 11 倍,将分类性能提升 10 倍。
借助这些优化,在整个 ILSVRC-2012 数据集上训练 AlexNet* 网络以在 80% 的时间实现排名前五的准确度,所需的时间从 58 天缩短至大约 5 天。
开始
我们正努力为软件产品开发新功能,目前您可使用本文附带的技术预览包再现展示的性能结果,甚至使用您自己的数据集训练 AlexNet。
该预览包支持 AlexNet 拓扑,并引入了“intel_alexnet”模型,它类似于 bvlc_alexnet,添加了 2 个全新的“IntelPack“和“IntelUnpack”层,以及优化的卷积、池化和规范化层。 此外,我们还更改了验证参数以提高矢量化性能,将验证 minibatch 的数值从 50 提高到 256,将测试迭代次数从 1000 减少到 200,从而使验证运行中使用的图像数量保持不变。 该预览包在以下文件中加入了 intel_alexnet 模型:
- models/intel_alexnet/deploy.prototxt
- models/intel_alexnet/solver.prototxt
- models/intel_alexnet/train_val.prototxt.
“intel_alexnet”模型支持您训练和测试 ILSVRC-2012 训练集。
开始使用该预览包时,请确保“系统要求和限制”中列出的所有常规 Caffe 依赖项均已安装在系统中,然后:
- 对预览包进行解包。
- 为以下“intel_alexnet”模型文件中的数据库、快照位置和图像均值文件指定路径。
- models/intel_alexnet/deploy.prototxt
- models/intel_alexnet/solver.prototxt
- models/intel_alexnet/train_val.prototxt
- 为“系统要求和限制”部分列出的软件工具设置运行时环境。
- 在 LD_LIBRARY_PATH 环境变量中添加 ./build/lib/libcaffe.so 路径
- 设置线程环境:
$> export OMP_NUM_THREADS=<N_processors * N_cores>
$> export KMP_AFFINITY=compact,granularity=fine - 使用以下命令在单节点上执行计时:
$> ./build/tools/caffe time \
-iterations <number of iterations> \
--model=models/intel_alexnet/train_val.prototxt - 使用以下命令在单节点上执行训练:
$> ./build/tools/caffe train \
--solver=models/intel_alexnet/solver.prototxt
系统要求和限制
该预览包与未优化的 Caffe 拥有相同的软件依赖项:
- boost* 1.53.0
- opencv* 2.4.9
- protobuf* 3.0.0-beta1
- glog* 0.3.4
- gflags* 2.1.2
- lmdb* 0.9.16
- leveldb* 1.18
- hdf5* 1.8.15
- Red Hat Enterprise Linux* 6.5 或更高版本
硬件兼容性:
此软件仅使用 AlexNet 拓扑进行了验证,可能不适用于其他配置。
支持:
如有关于该预览包的任何问题和建议,请联系:mailto:intel.mkl@intel.com。
基于英特尔® 至强 E5 系列处理器的单节点 Caffe 评分和训练的更多相关文章
- 基于英特尔® 至强™ 处理器 E5 产品家族的多节点分布式内存系统上的 Caffe* 培训
原文链接 深度神经网络 (DNN) 培训属于计算密集型项目,需要在现代计算平台上花费数日或数周的时间方可完成. 在最近的一篇文章<基于英特尔® 至强™ E5 产品家族的单节点 Caffe 评分和 ...
- 英特尔与 Facebook 合作采用第三代英特尔® 至强® 可扩展处理器和支持 BFloat16 加速的英特尔® 深度学习加速技术,提高 PyTorch 性能
英特尔与 Facebook 曾联手合作,在多卡训练工作负载中验证了 BFloat16 (BF16) 的优势:在不修改训练超参数的情况下,BFloat16 与单精度 32 位浮点数 (FP32) 得到了 ...
- 英特尔® 至强® 平台集成 AI 加速构建数据中心智慧网络
英特尔 至强 平台集成 AI 加速构建数据中心智慧网络 SNA 通过 AI 方法来实时感知网络状态,基于网络数据分析来实现自动化部署和风险预测,从而让企业网络能更智能.更高效地为最终用户业务提供支撑. ...
- [转帖]迎战AMD 7nm 64核EPYC 英特尔至强也玩起了胶水以及性价比
迎战AMD 7nm 64核EPYC 英特尔至强也玩起了胶水以及性价比 Intel 最强CPU 从最开始的双核 到现在的 28核 发展迅猛. https://www.cnbeta.com/article ...
- 面向基于英特尔® 架构的 Android* 的 CoCos2D
Cocos2D 是一款游戏引擎,可与从电脑到手机等多种设备配合使用. 该引擎支持丰富的特性,可帮助创建出色的 2D 游戏.它甚至包含具备全面功能的物理引擎. CoCos2D 的核心元素是基本动画元素( ...
- 英特尔:不再公布PC处理器多核睿频数据
据了解,以往英特尔官方有三个频率数据:基础主频:Turbo 2.0(多核)频率:以及Turbo 3.0(单核)频率.现在被隐匿的则是Turbo 2.0(多核)频率. 对此,英特尔在回应媒体时表示,给出 ...
- 【大数据系列】hadoop单节点安装官方文档翻译
Hadoop: Setting up a Single Node Cluster. HADOOP:建立单节点集群 Purpose Prerequisites Supported Platforms R ...
- kafka系列一:单节点伪分布式集群搭建
Kafka集群搭建分为单节点的伪分布式集群和多节点的分布式集群两种,首先来看一下单节点伪分布式集群安装.单节点伪分布式集群是指集群由一台ZooKeeper服务器和一台Kafka broker服务器组成 ...
- 现代英特尔® 架构上的 TensorFlow* 优化——正如去年参加Intel AI会议一样,Intel自己提供了对接自己AI CPU优化版本的Tensorflow,下载链接见后,同时可以基于谷歌官方的tf版本直接编译生成安装包
现代英特尔® 架构上的 TensorFlow* 优化 转自:https://software.intel.com/zh-cn/articles/tensorflow-optimizations-on- ...
随机推荐
- jquery实现Tab选项卡菜单
效果图: 默认选中 科技 当鼠标悬停在 ...
- 集成学习之Adaboost算法原理小结
在集成学习原理小结中,我们讲到了集成学习按照个体学习器之间是否存在依赖关系可以分为两类,第一个是个体学习器之间存在强依赖关系,另一类是个体学习器之间不存在强依赖关系.前者的代表算法就是是boostin ...
- 数据结构:二叉查找树(C语言实现)
数据结构:二叉查找树(C语言实现) ►写在前面 关于二叉树的基础知识,请看我的一篇博客:二叉树的链式存储 说明: 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: 1.若其左子树不空,则左子树上 ...
- Unity3D移动平台动态读取外部文件全解析
前言: 一直有个想法,就是把工作中遇到的坑通过自己的深挖,总结成一套相同问题的解决方案供各位同行拍砖探讨.眼瞅着2015年第一个工作日就要来到了,小匹夫也休息的差不多了,寻思着也该写点东西活动活动大脑 ...
- angular2 问题请教
angular2 通过http服务进行对后端api的远程调用? 我简单的尝试了一下,发现了几个问题,记录一下,以方便查找问题. angular2 http服务的跨域问题?跨域本身就是一个很复杂的问题, ...
- .net 一些开源的东东
来自网络..版权归网络所有..Antlr ----- Website: http://www.antlr.org/ Copyright: Copyright (c) - Terence Parr Li ...
- 【Tips】史上最全H1B问题合辑——保持H1B身份终级篇
[Tips]史上最全H1B问题合辑——保持H1B身份终级篇 2015-04-10留学小助手留学小助手 留学小助手 微信号 liuxue_xiaozhushou 功能介绍 提供最真实全面的留学干货,帮您 ...
- GJM :Unity集成Leap Motion
Demo演示视频
- 深入理解javascript闭包(二)
在上次的分享中javascript--函数参数与闭包--详解,对闭包的解释不够深入.本人经过一段时间的学习,对闭包的概念又有了新的理解.于是便把学习的过程整理成文章,一是为了加深自己闭包的理解,二是给 ...
- Microsoft Dynamics CRM 2013 Js Odata 查询
实现功能: 在新建记录时,(大区,省区,城市)的值默认为当前用户的值.tips:字段均为lookup类型; function Default_region(){ var fromtype=Xrm. ...