用于深度学习推理的高性能工具包

描述

  近年来,深度神经网络在将计算机视觉算法的准确性提升到一个新的水平方面取得了重大进展。OpenVINO 工具包就是这样一个示例,它可以在提供高性能的同时优化 DNN 模型。

  英特尔最近发布了其 OpenVINO 工具套件的最新版本 (2022.1),可为任何地方的开发人员提供更简单的部署。OpenVINO 是“Open Visual Inference and Neural Network Optimization”的缩写,是一个跨平台的深度学习工具包,可提供额外的深度学习模型、设备可移植性和更高的推理性能,同时代码更改更少。它专注于通过一次写入、随处部署的方法来增强深度神经网络推理,从而优化应用程序的开发生命周期

  该工具包有两个版本,一个开源 OpenVINO 工具包和一个英特尔 Distribution of OpenVINO 工具包。OpenVINO 工具包主要用于开发各种问题的快速解决方案,如模拟人类视觉、语音识别、自然语言处理、推荐系统等。它为开发人员在其 AI 界面上工作以及采用和维护提供了一种更简单的替代方案他们的代码。OpenVINO 建立在最新一代人工神经网络 (ANN) 的基础上,例如卷积神经网络 (CNN) 以及循环和基于注意力的网络。

  在英特尔硬件中,OpenVINO 包含计算机视觉和非计算机视觉工作负载。通过其众多功能,它确保了最大的性能并加快了应用程序的开发。它提供了来自自己的 Open Model Zoo 的预训练模型,这些模型提供了优化的模型。OpenVINO 提供了模型优化器 API,可以转换您提供的模型并为推理做好准备。推理引擎允许用户通过编译优化的网络和管理特定设备上的推理操作来调整性能。而且由于该工具包与大多数框架兼容,因此干扰最小,性能最高。

  上图显示了使用计算机视觉进行入侵检测的 OpenVINO 工具包的应用。英特尔的 OpenVINO 工具套件分发版旨在促进和简化高性能计算机视觉和深度学习推理应用程序在广泛使用的英特尔平台上的开发、创建和部署。OpenVINO 的应用范围从自动化和安全到农业、医疗保健等等。

  版本 2022.1 的功能

  此版本为之前的 2021.3 版本提供了错误修复和功能更改。

  更新,更清洁的 API

  这个新版本使维护开发人员的代码变得更加容易。它可以与最小化转换的 TensorFlow 约定集成。此版本减少了模型优化器中的 API 参数,以最大限度地降低复杂性。另一方面,在开放式神经网络交换 (ONNX*) 模型上的模型转换性能得到了显着提升。

  更广泛的模型支持

  用户可以在包括自然语言处理 (NLP)、双精度和计算机视觉在内的各种深度学习模型中轻松部署应用程序。以 NLP 和异常检测的附加类别为重点,预训练模型可用于工业检查、降噪、问答、翻译和文本到语音。

  便携性和性能

  此版本承诺通过跨 CPU、GPU 等的自动设备发现、负载平衡和动态推理并行性来提升性能。

  OpenVINO 工具包附加组件

  计算机视觉注释工具

  数据集管理框架

  深度学习流媒体

  神经网络压缩框架

  OpenVINO 模型服务器

  OpenVINO 安全插件

  培训扩展

  OpenVINO 的工作原理

  

API

  OpenVINO 工具包由各种开发和部署工具组成,其中包括一套完全配置的预训练模型和用于评估的硬件。以下步骤描述了 OpenVINO 的工作原理:

  先决条件:设置 OpenVINO

  在开始实际工作流程之前,请确保您选择了主机、目标平台和模型。该工具支持 Linux、Windows、macOS 和 Raspbian 等操作系统。至于深度学习模型训练框架,它支持TensorFlow、Caffe、MXNet、Kaldi,以及开放神经网络交换(ONNX)模型格式。

  第 1 步:训练模型

  第一步是准备和训练深度学习模型。您可以从 Open Model Zoo 中找到预训练的模型,也可以构建自己的模型。OpenVINO 为公共模型提供经过验证的支持,并在存储库中提供一系列代码示例和演示。您可以使用脚本为用于训练模型的框架配置模型优化器。

  第 2 步:转换和优化模型

  配置模型后,您可以运行模型优化器将模型转换为中间表示 (IR),该中间表示 (IR) 以一对文件(.xml 和 .bin)的形式表示。除了这对文件(.xml 和 .bin)之外,模型优化器还通过输出诊断消息来帮助进一步调整。

  第 3 步:调整性能

  在这一步中,推理引擎用于编译优化模型。推理引擎是一种高级(C、C++ 或 Python*)推理 API,它作为每种硬件类型的动态加载插件实现。它为每个硬件提供最佳性能,无需维护多个代码路径。

  第 4 步:部署应用程序

  推理引擎用于部署应用程序。使用部署管理器,您可以通过将模型、IR 文件、应用程序和相关依赖项组装到目标设备的运行时包中来创建开发包。

  综上所述,这个新版本的 OpenVINO 工具包提供了许多好处,不仅优化了用户部署应用程序的体验,还增强了性能参数。它使用户能够开发具有易于部署、更多深度学习模型、更多设备可移植性和更高推理性能且代码更改更少的应用程序。

  审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分