目录
1 简介
Introduction
OpenVINO™ 工具包是一个全面的工具包,用于快速开发解决各种任务的应用程序和解决方案,包括模拟人类视觉、自动语音识别、自然语言处理、推荐系统等。
该工具包基于最新一代人工神经网络,包括卷积神经网络 (CNN)、循环网络和基于注意力的网络,可跨英特尔® 硬件扩展计算机视觉和非视觉工作负载,从而最大限度地提高性能。
它通过从边缘到云部署的高性能、人工智能和深度学习推理来加速应用程序。
OpenVINO™ 工具包:
- 在边缘启用基于 CNN 的深度学习推理
- 支持通过英特尔®Movidius™VPU在英特尔®CPU,英特尔®集成显卡,英特尔®Neural Compute Stick 2和英特尔®视觉加速器设计之间进行异构执行
- 通过易于使用的计算机视觉功能库和预先优化的内核加快上市时间
- 包括对计算机视觉标准的优化调用,包括 OpenCV* 和 OpenCL™
2 工作流程
OpenVINO™ Toolkit Workflow
下图说明了典型的 OpenVINO™ 工作流程:
2.1 模型准备、转换和优化
Model Preparation, Conversion and Optimization
您可以使用您选择的框架来准备和训练深度学习模型,或者仅从 Open Model Zoo 下载预训练模型。 Open Model Zoo 包括针对各种视觉问题的深度学习解决方案,包括对象识别、人脸识别、姿势估计、文本检测和动作识别,在测量的复杂性范围内。其中一些预训练模型也用于代码示例和应用演示中。要从“开放模型动物园”下载模型,请使用“模型下载器”工具。
OpenVINO™ 工具套件的核心组件之一是模型优化器,它是一种跨平台命令行工具,可将经过训练的神经网络从其源框架转换为开源、与 nGraph 兼容的中间表示 (IR) 以用于推理操作。模型优化器导入在 Caffe*、TensorFlow*、MXNet*、Kaldi* 和 ONNX* 等流行框架中训练的模型,并执行一些优化以去除多余的层,并在可能的情况下将操作分组为更简单、更快的图形。
如果您的神经网络模型包含不在支持框架的已知层列表中的层,您可以通过使用自定义层来调整转换和优化过程。
针对源拓扑或针对输出表示运行准确性检查器实用程序以评估推理的准确性。精度检查器也是深度学习工作台的一部分,深度学习工作台是一个基于网络的集成性能分析工作室。
模型优化的有用文档:
- 模型优化器开发人员指南 Model Optimizer Developer Guide
- 中级代表制和业务集 Intermediate Representation and Opsets
- 自定义图层指南 Custom Layers Guide
- 准确性检查器实用程序 Accuracy Checker utility
- 深度学习工作台 Deep Learning Workbench
- 模型下载器实用程序 Model Downloader utility
- 英特尔的预训练模型 Intel's Pretrained Models (Open Model Zoo)
- 公共预训练模型 Public Pretrained Models (Open Model Zoo)
2.2 运行和调整推理
Running and Tuning Inference
OpenVINO™ 的另一个核心组件是推理引擎 Inference Engine,它管理优化神经网络模型的加载和编译,对输入数据运行推理操作,并输出结果。推理引擎可以同步或异步执行,其插件架构管理适当的编译以在多个英特尔® 设备上执行,包括主力 CPU 和专用图形和视频处理平台(参见下文,打包和部署)。
您可以将 OpenVINO™ Tuning Utilities 与推理引擎结合使用,在您的模型上试用和测试推理。 Benchmark 实用程序使用输入模型来运行吞吐量或延迟度量的迭代测试,Cross Check Utility 实用程序比较不同配置推理的性能。训练后优化工具集成了一套基于量化和校准的工具 Post-Training Optimization Tool ,以进一步简化性能。
对于集成了这些其他关键调整实用程序的完整基于浏览器的工作室,请尝试使用深度学习工作台。 Deep Learning Workbench.
OpenVINO™ 工具包包括一组推理代码示例 inference code samples 和应用程序 application demos 演示,展示了推理是如何运行和输出处理的,以便在零售环境、教室、智能相机应用程序和其他解决方案中使用。
OpenVINO 还利用开源和英特尔™ 工具进行传统图形处理和性能管理。英特尔® 媒体 SDK 支持加速的富媒体处理,包括转码。 OpenVINO™ 优化了对丰富的 OpenCV 和 OpenVX 库的调用,以处理计算机视觉工作负载。新的 DL Streamer 集成进一步加速了视频流水线和性能。
用于推理调整的有用文档:
- 推理引擎开发人员指南 Inference Engine Developer Guide
- 推理引擎 API 参考 Inference Engine API References
- 推理代码示例 Inference Code Samples
- 应用演示 Application Demos
- 训练后优化工具指南 Post-Training Optimization Tool Guide
- 深度学习工作台指南 Deep Learning Workbench Guide
- 英特尔媒体SDK Intel Media SDK
- DL 流光示例 DL Streamer Samples
- OpenCV OpenCV
- OpenVX OpenVX
2.3 打包和部署
Packaging and Deployment
英特尔 OpenVINO™ 工具包分发版为以下设备输出优化的推理运行时:
- 英特尔® CPU
- 英特尔® 处理器显卡
- 英特尔® 神经计算棒 2
- 采用英特尔® Movidius™ VPU 的英特尔® 视觉加速器设计
推理引擎的插件架构可以扩展以满足其他特殊需求。部署管理器 Deployment Manager 是一种 Python* 命令行工具,可将调整后的模型、IR 文件、您的应用程序和所需的依赖项组装到目标设备的运行时包中。它为 Linux* 和 Windows* 上的 CPU、GPU 和 VPU 输出包,并在 Linux 上输出神经计算棒优化包。
- 推理引擎集成工作流 Inference Engine Integration Workflow
- 推理引擎 API 参考 Inference Engine API References
- 推理引擎插件开发者指南 Inference Engine Plug-in Developer Guide
- 部署管理器指南 Deployment Manager Guide
3 OpenVINO™ 工具包组件
OpenVINO™ Toolkit Components
认识一下英特尔® OpenVINO™ 工具套件分发版的组件
深度学习模型优化器 Deep Learning Model Optimizer - 一种跨平台命令行工具,用于导入模型并准备它们以使用推理引擎进行最佳执行。模型优化器导入、转换和优化模型,这些模型在流行框架中训练过,例如 Caffe*、TensorFlow*、MXNet*、Kaldi* 和 ONNX*。
深度学习推理引擎 Deep Learning Inference Engine - 一个统一的 API,允许在许多硬件类型上进行高性能推理,包括英特尔® CPU、英特尔® 集成显卡、英特尔® 神经计算棒 2、采用英特尔® Movidius™ 视觉处理单元 (VPU) 的英特尔® 视觉加速器设计.
推理引擎示例 Inference Engine Samples - 一组简单的控制台应用程序,演示如何在您的应用程序中使用推理引擎。
深度学习工作台 Deep Learning Workbench - 基于 Web 的图形环境,可让您轻松使用各种复杂的 OpenVINO™ 工具包组件。
训练后优化工具 Post-Training Optimization tool - 一种校准模型然后以 INT8 精度执行的工具。
附加工具 - 一组用于处理模型的工具,包括 Benchmark App、Cross Check Tool、Compile 工具。Benchmark App, Cross Check Tool, Compile tool.
Open Model Zoo Open Model Zoo
- Demos Demos - 控制台应用程序,提供强大的应用程序模板来帮助您实现特定的深度学习场景。
- 其他工具-与模型一起使用的一组工具,包括Accuracy Checker Utility和Model Downloader。Accuracy Checker Utility and Model Downloader.
- 预训练模型文档 Documentation for Pretrained Models - Open Model Zoo 存储库中提供的预训练模型文档。 Open Model Zoo repository.
深度学习流媒体 Deep Learning Streamer (DL Streamer) – 基于 GStreamer 的流分析框架,用于构建媒体分析组件的图形。 DL Streamer 可以通过英特尔® Distribution of OpenVINO™ 工具包安装程序进行安装其开源版本可在 GitHub 上获得。有关 DL Streamer 文档,请参阅:
- DL 流光示例 DL Streamer Samples
- API 参考 API Reference
- 元素 Elements
- 教程 Tutorial
OpenCV OpenCV - 为英特尔® 硬件编译的 OpenCV* 社区版本
英特尔® 媒体 SDK Intel® Media SDK ((仅在面向 Linux 的英特尔® OpenVINO™ 工具套件分发版中)
OpenVINO™ Toolkit 开源版本可在 GitHub.上获得。要从源代码构建推理引擎,请参阅构建说明build instructions.。