发布时间:2020-10-21 13:20:47来源:电子产品世界
内容翻译、整理|刘波
下载地址|
https://software.intel.com/content/www/cn/zh/develop/tools/openvino-toolkit/download.html?cid=diad&source=EEPW&campid=prc_Q3_IOTG-DE_OpenVINO-DA_geo&content=prod-reg_&medium=train
英特尔分发版OpenVINO2021工具套件发布说明
OpenVINO工具套件介绍
英特尔分发版OpenVINO工具套件用于解决计算机视觉、语音识别、自然语言处理以及推荐系统等应用方案的快速部署。基于最新的人工神经网络,包括卷积神经网络、序列神经网络和基于注意力机制的网络等,该套件在跨英特尔硬件平台上支持计算机视觉和非视觉负载,并支持从边缘到云的高性能AI和深度学习推理。
主要特性:
1.支持从边缘到云的深度学习推理。
2.使用通用API,支持跨英特尔各类加速器的异构执行,包括英特尔CPU、英特尔集成图形处理器、英特尔高斯和神经网络加速器、英特尔第二代神经网络计算棒和基于英特尔Movidius视觉处理单元的英特尔视觉加速器设计。
3.通过易于使用的CV函数库和预优化的计算核心,加快上市时间。
4.包含对标准CV的优化调用,以及OpenCV和OpenCL。
第1版中的更新和更改
要点综述
2020年10月推出的一个主要版本(2021版)。建议您升级到此版本,因为它引入了一些新的重要功能,以及不兼容的更改。
对TensorFlow2.2.x的支持。正式支持在TensorFlow2.2.x框架中训练的模型。
支持最新硬件。正式支持用于物联网应用的第11代英特尔酷睿处理器家族(之前代号为TigerLake),可通过新的英特尔IrisXe图形处理器和英特尔DLBoost指令集获得推理性能的增强,以及通过第二代英特尔高斯和神经网络加速器获得低功耗语音处理的加速。
不止是计算机视觉。针对计算机视觉之外的负载,比如音频、语音、语言和推荐,通过OpenVINO工具套件也实现了端到端部署。为此提供了新的预训练模型、公开模型的支持、代码示例和演示以及对非视觉DLStreamer的支持。
深度学习工作台DLWorkbench与IntelDevCloudfortheEdge的集成(Beta版)将在2020年第4季度发布。开发人员现在可以使用图形化的方式来分析模型。您可以通过IntelDevCloudfortheEdge平台上(而不是在本地开发机上)的深度学习工作台DLWorkbench对同一应用方案的多种远程硬件配置进行比较、可视化和性能微调等分析。
OpenVINO模型服务器。作为OpenVINO工具套件的一个附加组件,它是一个可扩展的微服务,提供了用于推理的gRPC或HTTP/REST端口,从而使在云服务器或边缘服务器环境中部署模型变得更容易。它现在是用C++实现的,以减少容器资源占用(例如,小于500MB),并提供更高的吞吐量和更低的延迟。
现在也支持Gitee和PyPI渠道下载。建议从适合您的分发方法中选择并下载。
与2020.4版相比,不兼容的更改
弃用API列表和API更改。(见原英文版介绍)
自2020.3版本以来,IRv7已经弃用,并且当前版本也不再支持,建议迁移到最高版本IRv10。IRv10提供了流线型同时也是面向未来的操作集,兼容通用的框架,并且对量化模型的运行提供更好的低精度表示,同时也支持可变形(reshape)的模型。
移除了InferenceEngineNNBuilderAPI。
移除了一些InferenceEngine公共API。(见原英文版介绍)
从2020.2版本开始,之前所有通过nGraph实现的功能都已经合并到了OpenVINO工具套件。因此之前的ONNXRTExecutionProviderfornGraph也已经合并到了ONNXRTExecutionProviderforOpenVINO,所以ONNXRTExecutionProviderfornGraph从2020年6月1日起就被弃用了并且会在2020年12月1日移除。建议迁移到ONNXRTExectuionProviderforOpenVINO,它将作为所有英特尔硬件上AI推理的统一方案。
弃用或移除了一些nGraph公共API。(见原英文版介绍)
更新了nGraph公共API的结构。
更新了系统需求。
为提高基于FPGA的深度学习方案的定制化水平,英特尔将转移到下一代可编程深度学习方案。作为这个计划的一部分,以后的非LTS标准发布将不再支持IntelVisionAcceleratorDesignwithIntelArria10和IntelProgrammableAccelerationCardwithIntelArria10GXFPGA。不过在LTS版本中还将继续支持。关于下一代基于FGPA可编程深度学习方案的问题,可咨询您的销售代表或联系我们。
模型优化器
公共更改
实现了一些优化转换,将操作的子图替换为HSwish、Mish、Swish和SoftPlus操作。
模型优化器生成的IR中会默认保持子图的形状计算。
使用推理引擎的可变形API修复了模型优化器生成不能改变形状的模型中间表示的转换问题。
实现了原始网络中不可变形模式的变换。
增加了TensorFlow2.x的依赖信息。
用ScatterNDUpate4替换了SparseToDense操作。
ONNX
增加了使用“–output”命令行参数指定模型输出张量名称的功能。
添加了对以下操作的支持:
oAcosh
oAsinh
oAtanh
oDepthToSpace-11,13
oDequantizeLinear-10(zero_pointmustbeconstant)
oHardSigmoid-1,6
oQuantizeLinear-10(zero_pointmustbeconstant)
oReduceL1-11,13
oReduceL2-11,13
oResize-11,13(exceptmode="nearest"with5D+input,mode="tf_crop_and_resize",andattributesexclude_outsideandextrapolation_valuewithnon-zerovalues)
oScatterND-11,13
oSpaceToDepth-11,13
TensorFlow
添加了对以下操作的支持:
Acosh
Asinh
Atanh
CTCLoss
EuclideanNorm
ExtractImagePatches
FloorDiv
MXNet
添加了对以下操作的支持:
Acosh
Asinh
Atanh
Kaldi
修复了对ParallelComponent支持的Bug。现在已经完全支持了。
推理引擎
公共更改
迁移到了MicrosoftStudioC++(MSVC)2019编译器并将其作为Windows平台的默认选项,这使得OpenVINO运行时库的二进制大小减小了2.5倍。
将基于CPU的预处理操作(包含不同通道数图片的大小调整、布局转换和颜色空间转换等)移植到AVX2和AVX512指令集。
推理引擎PythonAPI
增加了nGraphPythonAPI,提供了访问nGraphFunction的Python接口,方便对加载的网络图进行分析。支持设置网络图的节点参数。
支持使用PythonAPI直接读取ONNX模型。
推理引擎CAPI
无变化。
CPU插件
添加了对新操作的支持:
ScatterUpdate-3
ScatterElementsUpdate-3
ScatterNDUpdate-4
Interpolate-4
CTC-Loss-4
Mish-4
HSwish-4
GPU插件
支持面向物联网应用的第11代英特尔酷睿处理器家族(之前代号为TigerLake)。
支持INT8推理。这是英特尔DLBoost技术在英特尔集成图形处理器上的优化和应用。
支持新操作:
oMish
oSwish
oSoftPlus
oHSwish1234
MYRIAD插件
增加了对ONNX下FasterR-CNN网络的支持,其具有固定的输入形状和动态的输出形状。
增加了用于实现自定义OpenCL层的自动DMA的支持。
增加了对新操作的支持:
oMish
oSwish
oSoftPlus
oGelu
oStridedSlice
oI32datatypesupportinDiv
提升了已有操作的性能:
oROIAlign
oBroadcast
oGEMM
为myriad_compile添加了一个新选项VPUTILING_uCMX_LIMIT_uKB,从而限制DMA传输大小。
提供了仅用于英特尔第二代神经网络计算棒中的SHAVE处理器的OpenCL编译器。
HDDL插件
支持用于自定义OpenCL层的自动DMA。
与MYRIAD插件中相同的新增操作和优化。
提供了仅用于IntelVisionAcceleratorDesignwithIntelMovidiusVPUs中的SHAVE处理器的OpenCL编译器。
GNA插件
支持面向物联网应用的第11代英特尔酷睿处理器家族(之前代号为TigerLake)。增加了对多个新的网络层以及层间融合的支持。
增加了从流中直接导入模型的支持。
在Windows上增加了对QoS机制的支持。在Python基准测试程序中增加了对GNA特定参数的支持。
nGraph
引入opset4。这个新的操作集包含了以下操作。注意并不是所有的OpenVINO插件都支持这些操作。
oAcosh-4
oAsinh-4
oAtanh-4
oCTCLoss-4
oHSwish-4
oInterpolate-4
oLSTMCell-4
oMish-4
oProposal-4
oRange-4
oReduceL1-4
oReduceL2-4
oScattenNDUpdate-4
oSoftPlus-4
oSwish-4
增加了nGraphPythonAPI,提供了访问nGraphFunction的Python接口,方便对加载的网络图进行分析。
重构了nGraph转换API,使得它的结构更加透明并且使用起来更友好。
改变了nGraph文件夹的结构。nGraph公共API从其它代码中分离了出来,并且ONNX导入器也移到了前端文件夹。
神经网络压缩框架(NNCF)
发布了1.4版本的NNCF,主要面向PyTorch框架。
支持导出剪枝后的模型到ONNX。
增加了基于FP16数据类型的量化微调。
增加了通用压缩算法中初始化环节的批量归一化适配。
提升了基本通道量化的训练性能。
增加了对Embedding和Conv1D权重的默认量化。
训练后优化工具(POT)
在精度敏感算法中增加了量化参数的自动调整。
加速了Honest偏差纠正算法。相比于在2020.4版本中使用use_fast_bias=false的情况,平均量化时间缩短了4倍。
POTAPI产品化,并提供了如何使用此API的示例和文档。
默认量化策略对应于兼容模式,需要在不同硬件上得到几乎一致的准确率。
覆盖了44个新的模型。
深度学习工作台
添加了对以下操作的支持:
-Acosh-Asinh-Atanh-CTCLoss-EuclideanNorm-ExtractImagePatches-FloorDiv
OpenCV
已将版本更新到4.5.0。
将上游许可证更改为Apache2。
在OpenCV应用程序中添加了对多个OpenCL上下文的支持。
Samples
更新了推理引擎C++示例演示如何直接加载ONNX模型。
OpenModelZoo
通过新增CNN预训练模型和重新生成中间表示(xml+bin)扩展了OpenModelZoo:
o替代了2020.4中的模型:
-face-detection-0200
-face-detection-0202
-face-detection-0204
-face-detection-0205
-face-detection-0206
-person-detection-0200
-person-detection-0201
-person-detection-0202
-person-reidentification-retail-0277
-person-reidentification-retail-0286
-person-reidentification-retail-0287
-person-reidentification-retail-0288
o增加了新的模型:
-bert-large-uncased-whole-word-masking-squad-emb-0001
-bert-small-uncased-whole-word-masking-squad-0002
-formula-recognition-medium-scan-0001-im2latex-decoder
-formula-recognition-medium-scan-0001-im2latex-encoder
-horizontal-text-detection-0001
-machine-translation-nar-en-ru-0001
-machine-translation-nar-ru-en-0001
-person-attributes-recognition-crossroad-0234
-person-attributes-recognition-crossroad-0238
-person-vehicle-bike-detection-2000
-person-vehicle-bike-detection-2001
-person-vehicle-bike-detection-2002
-person-vehicle-bike-detection-crossroad-yolov3-1020
-vehicle-detection-0200
-vehicle-detection-0201
-vehicle-detection-0202
o生命周期结束了的模型:
-face-detection-adas-binary-0001
-pedestrian-detection-adas-binary-0001
-vehicle-detection-adas-binary-0001
增加了新的演示程序:
obert_question_answering_embedding_demo,Python
oformula_recognition_demo,Python
omachine_translation_demo,Python
osound_classification_demo,Python
ospeech_recognition_demo,Python
OpenModelZoo工具:
o增加了模型下载速度。
o在每个模型的文件夹下增加了精度检查的配置文件。
o简化了精度检查配置文件,不再需要给出模型IR的路径、目标硬件以及数据精度等配置信息。
o通过推理引擎预处理API使得精度检查工具支持优化的预处理操作。
o不需要将ONNX模型转成IR格式就可以在精度检查工具中进行ONNX模型评估。
深度学习流管道分析器(DLStreamer)
通过增加对音频分析的支持,扩大了DLStreamer的使用范围,不止限于视频。增加了一个新的gvaaudiodetect元素用于音频事件的检测(AclNet模型)。在示例文件夹下增加了一个这个管道的示例。
增加了一个新的gvametaaggregate元素用于整合来自一个管道不同分支上的结果。这样就可以支持创建复杂的管道,比如将一个管道分拆成多个分支进行并行处理,然后整合结果。
实现了GPU内存共享,即zero-copy,使得数据在VAAPI解码、大小调整、CSC以及DLStreamer的各推理元素间可以更高效的共享,达到整体管道性能的提升。
在gvatrack和gvawatermark元素的输入和输出处增加GPU内存,这样在GPU进行推理的时候,就可以不用调用gvaapipostproc元素显示地将数据从GPU内存转移到CPU内存。
[预览]扩展DLStreamer支持Ubuntu20.4。
更多信息请参考开源代码库。
OpenVINO模型服务器
模型服务器是一种可扩展且高性能工具,用以提供经OpenVINO工具套件优化后的模型。它提供的基于gRPC或HTTP/REST端口的推理服务,可以帮助您快速将模型产品化。
主要功能和提升:
o提升了单服务器示例的扩展性。通过新的C++实现,您可以以线性扩展的效果充分利用已有资源,避免前端的性能瓶颈。
o降低客户端和服务器之间的时延。
o降低资源占用。通过切换到C++实现或减少依赖,Docker镜像大小可以降低到450MB。
o增加对线上模型进行更新的支持。服务检测器的配置文件可以根据需要而不需要重启服务就可以更改或重新加载模型。
更多信息请参考开源代码库。
扫码入群
扫码添加管理员微信
加入“电子产品世界”粉丝交流群
↓↓↓↓点击阅读原文,查看更多新闻