Introduction
本教程将为大家详细介绍如何使用深度学习部署套件的推理引擎(包含在英特尔® 计算机视觉 SDK Beta 测试版 R3中)。推理指使用训练的神经网络从数据(比如图像)推理出某种意义的过程。在下面的代码示例中,视频(逐帧)馈送至推理引擎(我们训练的神经网络),然后输出结果(图像分类)。推理过程通过不同的神经网络架构(AlexNet*、GoogleNet* 等)来完成。本示例在 GoogleNet 模型上使用 Single Shot MultiBox Detector (SSD)。关于如何使用 SSD 的示例,请参阅英特尔® 开发人员专区的本文。
推理引擎要求将该模型转化成 IR(中间代码)文件。本教程将详细介绍如何使用 Model Optimizer 提取现有模型 (GoogleNet) 并将其转化成 IR(中间代码)文件。
本教程结束后,大家将看到视频上通过检测多个对象(比如人或汽车)进行推理;例如下图,大家可以看到示例图像正进行以下操作:
在推理引擎上运行神经网络有何不同之处?
- 推理引擎可优化推理过程,支持用户显著提高深度学习部署在英特尔® 架构上的运行速度。更多关于英特尔®处理器显卡的性能信息,请参阅本文
- 推理可在硬件(比如英特尔® GPU 或英特尔® FPGA 加速卡)上运行,而非 CPU。
推理引擎如何运行?
推理引擎提取神经网络模型的表示并对其进行优化,以在 CPU 中充分利用高级英特尔®指令集,并使其兼容其他硬件加速器(GPU 和 FPGA)。为此,将模型文件(.caffemodel,.prototxt)提供给 Model Optimizer,然后该程序处理这些文件并输出两个新文件:.bin 和 .xml。运行应用时使用这两个新文件,而不是原始的模型文件。在本示例中,提供有 .bin 和 .xml 文件。
上图中的 IR(中间代码)指输入至推理引擎的 .xml 和 .bin 文件。
您将学到的内容
- 如何安装 OpenCL™ Runtime 软件包
- 如何安装英特尔® 计算机视觉 SDK Beta 测试版 R3
- 如何从 Caffe 模型生成推理引擎所需的 .bin 和 .xml(IR 文件)
- 使用生成的 IR 文件在 C++ 应用中运行推理引擎
- 比较 CPU 和 GPU 的性能
收集资料
- 第五代英特尔® 酷睿™ 处理器或更高版本。可以运行 ‘lscpu’ 命令在 Linux* 中查找产品名称。‘Model name:’ 包含处理器的相关信息。
注:产品名称中包含有代际编号,在 ‘i3’、‘i5’ 或 ‘i7’ 之后。例如,英特尔® 酷睿™ i5-5200U 处理器和英特尔® 酷睿™ i5-5675R 处理器都是第五代产品,而英特尔® 酷睿™ i5-6600K 处理器和英特尔® 酷睿™ i5 6360U 处理器都是第六代产品。
- Ubuntu* 16.04.3 LTS
- 如果在生成的 GPU 上运行推理:
- 采用英特尔® 锐炬® Pro 显卡或高清显卡
- 不安装独立显卡(OpenCL™ 平台要求的)。如果有,请务必在安装之前,在 BIOS 中禁用该显卡。
- 不安装用于其他 GPU 的驱动程序,或支持其他 GPU 的库