原文链接

在互联网搜索引擎和医疗成像等诸多领域,深度神经网络 (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 拥有相同的软件依赖项:

英特尔 MKL 11.3 或更高版本

硬件兼容性:

此软件仅使用 AlexNet 拓扑进行了验证,可能不适用于其他配置。

支持:

如有关于该预览包的任何问题和建议,请联系:mailto:intel.mkl@intel.com

基于英特尔® 至强 E5 系列处理器的单节点 Caffe 评分和训练的更多相关文章

  1. 基于英特尔® 至强™ 处理器 E5 产品家族的多节点分布式内存系统上的 Caffe* 培训

    原文链接 深度神经网络 (DNN) 培训属于计算密集型项目,需要在现代计算平台上花费数日或数周的时间方可完成. 在最近的一篇文章<基于英特尔® 至强™ E5 产品家族的单节点 Caffe 评分和 ...

  2. 英特尔与 Facebook 合作采用第三代英特尔® 至强® 可扩展处理器和支持 BFloat16 加速的英特尔® 深度学习加速技术,提高 PyTorch 性能

    英特尔与 Facebook 曾联手合作,在多卡训练工作负载中验证了 BFloat16 (BF16) 的优势:在不修改训练超参数的情况下,BFloat16 与单精度 32 位浮点数 (FP32) 得到了 ...

  3. 英特尔® 至强® 平台集成 AI 加速构建数据中心智慧网络

    英特尔 至强 平台集成 AI 加速构建数据中心智慧网络 SNA 通过 AI 方法来实时感知网络状态,基于网络数据分析来实现自动化部署和风险预测,从而让企业网络能更智能.更高效地为最终用户业务提供支撑. ...

  4. [转帖]迎战AMD 7nm 64核EPYC 英特尔至强也玩起了胶水以及性价比

    迎战AMD 7nm 64核EPYC 英特尔至强也玩起了胶水以及性价比 Intel 最强CPU 从最开始的双核 到现在的 28核 发展迅猛. https://www.cnbeta.com/article ...

  5. 面向基于英特尔&#174; 架构的 Android* 的 CoCos2D

    Cocos2D 是一款游戏引擎,可与从电脑到手机等多种设备配合使用. 该引擎支持丰富的特性,可帮助创建出色的 2D 游戏.它甚至包含具备全面功能的物理引擎. CoCos2D 的核心元素是基本动画元素( ...

  6. 英特尔:不再公布PC处理器多核睿频数据

    据了解,以往英特尔官方有三个频率数据:基础主频:Turbo 2.0(多核)频率:以及Turbo 3.0(单核)频率.现在被隐匿的则是Turbo 2.0(多核)频率. 对此,英特尔在回应媒体时表示,给出 ...

  7. 【大数据系列】hadoop单节点安装官方文档翻译

    Hadoop: Setting up a Single Node Cluster. HADOOP:建立单节点集群 Purpose Prerequisites Supported Platforms R ...

  8. kafka系列一:单节点伪分布式集群搭建

    Kafka集群搭建分为单节点的伪分布式集群和多节点的分布式集群两种,首先来看一下单节点伪分布式集群安装.单节点伪分布式集群是指集群由一台ZooKeeper服务器和一台Kafka broker服务器组成 ...

  9. 现代英特尔® 架构上的 TensorFlow* 优化——正如去年参加Intel AI会议一样,Intel自己提供了对接自己AI CPU优化版本的Tensorflow,下载链接见后,同时可以基于谷歌官方的tf版本直接编译生成安装包

    现代英特尔® 架构上的 TensorFlow* 优化 转自:https://software.intel.com/zh-cn/articles/tensorflow-optimizations-on- ...

随机推荐

  1. 【.NET深呼吸】基于异步上下文的本地变量(AsyncLocal)

    在开始吹牛之前,老周说两个故事. 第一个故事是关于最近某些别有用心的人攻击.net的事,其实我们不用管它们,只要咱们知道自己是.net爱好者就行了,咱们就是因为热爱.net才会选择它.这些人在这段时间 ...

  2. <a> href属性--记录八

    1.去掉<a>标签的下划线 <ul style=" list-style-type:none; margin:0;color:Gray; font-size:11px;ma ...

  3. 在Linux Mint上安装node.js和npm

    1.安装Node.js 前端开发过程中,很多项目使用npm的http-server的模块来运行一个静态的服务器,我个人在Dell的笔记本上安装的是Linux Mint最新版本,所以想尝试一下在Linu ...

  4. 重磅来袭,使用CRL实现大数据分库分表方案

    关于分库分表方案详细介绍 http://blog.csdn.net/bluishglc/article/details/7696085 这里就不作详细描述了 分库分表方案基本脱离不了这个结构,受制于实 ...

  5. Core Java 总结(关键字,特性问题)

    2016-10-19 说说&和&&的区别 初级问题,但是还是加入了笔记,因为得满分不容易. &和&&都可以用作逻辑与的运算(两边是boolean类型), ...

  6. spring boot(五):spring data jpa的使用

    在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spr ...

  7. 数据结构笔记--栈的总结及java数组实现简单栈结构

    杂谈"栈"结构: 栈(Stack)是一种插入删除操作都只能在一个位置上进表,这个位置位于表的末端,叫做栈顶(Top). 对栈的基本操作有push和pop,表示进栈和出栈.也就相当于 ...

  8. Win10 连接L2TP VPN 失败解决方法

    Win10 连接L2TP VPN 失败解决方法 iOS系统不知道在什么时候,已经不支持PPTP VPN.偶尔的机会刚好看到github上的一键式VPN服务器部署脚本setup-ipsec-vpn,就在 ...

  9. 把UI图里的小图标制作成icon font

    一个交互比较多的UI图里面可能会有很多小图标,一般可用sprites图将多个小图标弄成一张大图,或者其它的办法,各种方法的比较可参见博主的另外一篇博客使用css3新属性clip-path制作小图标,本 ...

  10. iis7.0与asp.net的运行原理

    IIS7.0 IIS7.0主要引入了WAS(Windows Process Activation,不同于6.0中的Web Admin Service),分担了原来w3svc的部分功能,同时为IIS7. ...