0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Saumitra Jagdale 2022-08-16 11:27 次阅读

近年来,深度神经网络在将计算机视觉算法的准确性提升到一个新的水平方面取得了重大进展。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 的应用范围从自动化和安全到农业、医疗保健等等。

版本 2022.1 的功能

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

更新,更清洁的 API

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

更广泛的模型支持

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

便携性和性能

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

OpenVINO 工具包附加组件

计算机视觉注释工具

数据集管理框架

深度学习流媒体

神经网络压缩框架

OpenVINO 模型服务器

OpenVINO 安全插件

培训扩展

OpenVINO 的工作原理

pYYBAGL7DraAFN7pAADFgyCkOOQ706.png

图片来源:Viso.ai

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 工具包提供了许多好处,不仅优化了用户部署应用程序的体验,还增强了性能参数。它使用户能够开发具有易于部署、更多深度学习模型、更多设备可移植性和更高推理性能且代码更改更少的应用程序。

审核编辑:郭婷

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

    关注

    87

    文章

    10986

    浏览量

    206712
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72892
  • 深度学习
    +关注

    关注

    73

    文章

    5232

    浏览量

    119889
收藏 人收藏

    评论

    相关推荐

    Torch TensorRT是一个优化PyTorch模型推理性能工具

    那么,什么是Torch TensorRT呢?Torch是我们大家聚在一起的原因,它是一个端到端的机器学习框架。而TensorRT则是NVIDIA的高性能深度学习
    的头像 发表于 01-09 16:41 379次阅读
    Torch TensorRT是一个优化PyTorch模型<b class='flag-5'>推理性能</b>的<b class='flag-5'>工具</b>

    用上这个工具包,大模型推理性能加速达40倍

    作者: 英特尔公司 沈海豪、罗屿、孟恒宇、董波、林俊 编者按: 只需不到9行代码, 就能在CPU上实现出色的LLM推理性能。 英特尔  Extension for Transformer 创新工具包
    的头像 发表于 12-01 20:40 628次阅读
    用上这个<b class='flag-5'>工具包</b>,大模型<b class='flag-5'>推理性能</b>加速达40倍

    深度学习在人工智能中的 8 种常见应用

    深度学习简介深度学习是人工智能(AI)的一个分支,它教神经网络学习推理。近年来,它解决复杂问题
    的头像 发表于 12-01 08:27 941次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>在人工智能中的 8 种常见应用

    Microchip(微芯)推出MPLAB机器学习开发工具包

    模型开发。这款软件工具包用于Microchip的各类单片机(MCU)和微处理器(MPU)产品组合,助力开发人员快速高效地添加机器学习推理。Microchip开发系
    的头像 发表于 09-12 18:26 564次阅读
    Microchip(微芯)推出MPLAB机器<b class='flag-5'>学习</b>开发<b class='flag-5'>工具包</b>

    Microchip 推出 MPLAB® 机器学习开发工具包,助力开发人员轻松将机器学习集成到 MCU 和 MPU中

    开发工具包,提供一套完整的集成工作流程来简化机器学习模型开发。这款软件工具包用于Microchip的各类单片机 (MCU) 和微处理器 (MPU) 产品组合,助力开发人员快速高效地添
    的头像 发表于 09-11 15:55 335次阅读

    ARM KEIL™MDK工具包的操作流程

    本笔记介绍了ARM®KEIL™MDK工具包的操作流程,该工具包采用了μVision®和MicroSemi(Actel™)包含嵌入式ARM®Cortex™-M3处理器的全新智能融合2(SF2)系列
    发表于 09-04 06:16

    ARM KEIL™MDK工具包的操作流程

    本笔记介绍了ARM®KEIL™MDK工具包的操作流程,该工具包采用了μVision®和MicroSemi的SmartFusion2(™)系列,该系列包含嵌入式ARM®Cortex™-M3处理器
    发表于 08-29 07:39

    用于飞利浦2.2版的RealView开发工具包入门指南

    只有用于飞利浦编译工具和调试器的RVDK支持ARM®工具包专有ELF(ATPE)格式。 编译工具生成的对象和图像不能被其他工具链使用。 AT
    发表于 08-24 08:20

    ARM软件开发工具包2.50版参考指南

    ARM软件开发工具包(SDT)由一套应用程序以及支持文档和示例组成,使您能够为ARM系列RISC处理器编写和调试应用程序。 您可以使用SDT来开发、生成和调试C、C++或ARM汇编语言程序。
    发表于 08-21 07:17

    深度学习框架区分训练还是推理

    深度学习框架区分训练还是推理深度学习框架是一个非常重要的技术,它们能够加速深度
    的头像 发表于 08-17 16:03 1024次阅读

    如何在OpenVINO trade工具包中推断两个图像?

    无法在OpenVINO™工具包中对两个输入图像运行推理
    发表于 08-15 08:24

    如何在OpenVINO工具包中使用带推理引擎的blob?

    无法确定如何在OpenVINO™工具包中使用带推理引擎的 blob。
    发表于 08-15 07:17

    c++对于ARM软件开发工具包用户及参考指引

    这本书描述了armc++ 1.0版本的ARM软件开发工具包,以下简称为armc++。ARM c++是一套工具,当与ARM软件开发工具包2.11或更高版本一起使用时,允许您为ARM家族的RisC处理器
    发表于 08-08 06:29

    利用OpenVINO工具包检测汽车品牌

    地检测品牌、车标和形状。 OpenVINO TM的Intel&Distribution工具包是一个全面的工具包用于快速开发模拟人类视觉的应用程序和解决方案。该工具包以细胞神经
    发表于 08-04 07:36

    如何访问已与eIQ工具包一起安装的python版本?

    我正在尝试在远程 SSH 板上安装 eIQ 工具包,DEBIX Model A 板具有 I.MX 8M Plus EdgeVerse 处理器和 Ubuntu 20.04。 我下载了 eIQ 工具包
    发表于 06-07 06:46