新聞中心

EEPW首頁 > 智能計算 > 最新動態(tài) > OpenVINO?工具套件 2021 版的發(fā)布說明

OpenVINO?工具套件 2021 版的發(fā)布說明

作者: 時間:2021-03-25 來源:英特爾官網(wǎng) 收藏

英特爾? Distribution of ? 工具套件用于快速開發(fā)應(yīng)用程序和解決方案,以解決各種任務(wù)(例如:模擬人類視覺、自動語音識別、自然語言處理和推薦系統(tǒng)等)。該工具套件基于最新一代的人工神經(jīng)網(wǎng)絡(luò),包括卷積神經(jīng)網(wǎng)絡(luò) (CNN)、遞歸網(wǎng)絡(luò)和基于注意力的網(wǎng)絡(luò),可擴(kuò)展跨英特爾? 硬件的計算機(jī)視覺和非視覺工作負(fù)載,從而最大限度地提高性能。它通過從邊緣到云部署的高性能、人工智能和深度學(xué)習(xí)推理來為應(yīng)用程序加速。

本文引用地址:http://butianyuan.cn/article/202103/423907.htm

英特爾? Distribution of ? 工具套件

  • 支持從邊緣到云的深度學(xué)習(xí)推理。

  • 借助英特爾? CPU、英特爾? 集成顯卡、英特爾? Gaussian & Neural Accelerator、英特爾? 神經(jīng)電腦棒 2、搭載英特爾? Movidius? 視覺處理器的英特爾? Vision Accelerator Design 的通用 API,支持跨英特爾加速器的異構(gòu)執(zhí)行。

  • 通過一套易用的計算機(jī)視覺功能庫和預(yù)優(yōu)化內(nèi)核庫來加速上市時間。

  • 包括針對 CV 標(biāo)準(zhǔn)進(jìn)行的調(diào)用優(yōu)化,包括 OpenCV* 和 OpenCL?。

第 2 版發(fā)布中的更新和更改

要點(diǎn)綜述

  • 將深度學(xué)習(xí)工作臺與英特爾? DevCloud for the Edge 集成以構(gòu)成 Beta 版本。使用英特爾? DevCloud for the Edge 上的深度學(xué)習(xí)工作臺(而不是僅本地計算機(jī))以圖形方式分析模型,從而針對多個遠(yuǎn)程硬件配置進(jìn)行解決方案的比較、可視化和微調(diào)。

  • 推出對 Red Hat Enterprise Linux (RHEL) 8.2 的支持。有關(guān)更多信息,請參閱系統(tǒng)要求。 運(yùn)行時包可供下載。

  • 在模型優(yōu)化器中為通過 TensorFlow 量化感知訓(xùn)練進(jìn)行了量化的模型推出每通道量化支持(包括權(quán)重的每通道量化),通過模型壓縮和延遲減少提高了性能。

  • 預(yù)訓(xùn)練模型和對公共模型的支持,以簡化開發(fā):

  • 公共模型:Yolov4(用于對象檢測)、AISpeech(用于語音識別)和 DeepLabv3(用于語義分割)

  • 預(yù)訓(xùn)練模型:人體姿勢估計(更新)、公式識別多項式手寫體(新增)、機(jī)器翻譯(更新)、通用手語識別(新增)和文本語音轉(zhuǎn)換(新增)

  • 全新的 ? 安全插件,通過安全封裝和執(zhí)行來控制對模型的訪問。這款全新插件基于 KVM 虛擬機(jī)和 Docker* 容器,與 OpenVINO? 模型服務(wù)器兼容,可進(jìn)行封裝以實(shí)現(xiàn)靈活部署和受控的模型訪問。

  • PyPI 項目從 openvino-python 遷移到 openvino,2021.1 版將從默認(rèn)視圖中移除。通過使用 openvino-python==2021.1,依賴于該特定版本的用戶將仍然可以使用該版本。

模型優(yōu)化器

常見的變更

  • 更新了對 NumPy 組件的要求,以避免與 TensorFlow 1.x 產(chǎn)生兼容性問題。

  • 借助 Eltwise 和 CTCGreedyDecoder 運(yùn)算,改進(jìn)了模型的重塑能力

ONNX*

  • 已支持使用“ --output”命令行參數(shù)指定模型輸出張量名稱的功能。

  • 增加了對以下操作的支持:

  • Acosh

  • Asinh

  • Atanh

  • DepthToSpace-11、13

  • DequantizeLinear-10(zero_point 必須為常數(shù))

  • HardSigmoid-1,6

  • QuantizeLinear-10(zero_point 必須為常數(shù))

  • RedueL1-11、13

  • RedueL2-11、13

  • Resize-11, 13(除了mode="nearest"(5D+輸入),mode="tf_crop_and_resize",以及屬性 exclude_outside 和 exclude_outside 使用非零值)。

  • ScatterND-11、13

  • SpaceToDepth-11、13

TensorFlow*

  • 增加了在調(diào)整圖像大小之前應(yīng)用平均/刻度值時,對使用預(yù)處理塊的 TensorFlow Object Detection API 模型的支持。此前僅支持在調(diào)整大小之后應(yīng)用平均/標(biāo)度值的情況。

  • 將采用 FakeQuantize 方法的限值調(diào)整與 TensorFlow 方法保持一致

  • 增加了對以下操作的支持:

  • GatherND

  • Round

  • NonMaxSuppression

  • LogSoftmax

  • FakeQuantWithMinMaxVarsPerChannel

MXNet*

  • 增加了對以下操作的支持:

  • GatherND

  • Round

Kaldi*

  • 增加了對以下操作的支持:

  • TdnnCompontent

推理引擎

常見變更

  • 移除了 inference_engine_legacy 上的依賴項。自 2021.2 版起,客戶的應(yīng)用程序不直接鏈接 inference_engine_legacy。inference_engine_legacy 直接通過插件鏈接。 

  • 增加了對具有外部數(shù)據(jù)文件的 ONNX 模型讀取的支持。要讀取這些模型,僅需要將 core.ReadNetwork() 方法傳入到 ONNX 模型中,外部數(shù)據(jù)文件將會自動找到并加載。

  • 對于 ONNX 讀取器,檢測受支持模型的邏輯有所改進(jìn)。

  • ONNX 依賴項已更新為 v1.7.0

  • 增加了對 ONNX 函數(shù)的支持(運(yùn)算符列表底部 https://github.com/onnx/onnx/blob/v1.7.0/docs/Operators.md

  • 改進(jìn)了有關(guān)在 ONNX 載入器中注冊自定義運(yùn)算的文檔和示例

  • setBatchSize 方法現(xiàn)已遷移到重塑方法邏輯中,以更新模型的輸入形狀。此外,它還應(yīng)用了對模型中的某些不可重塑模式進(jìn)行松弛的智能重塑轉(zhuǎn)換?,F(xiàn)在可以對同一模型使用 setBatchSize 和重塑方法,不會導(dǎo)致先前版本中的未定義行為。

  • 在 Windows 平臺上,推理引擎庫在文件屬性中擁有新的“詳細(xì)信息”部分。該部分包含有關(guān)動態(tài)鏈接庫 (DLL) 的信息,包括庫的描述和版本。

廢棄 API

  • ExecutableNetwork::QueryState 方法被 InferRequest::QueryState 方法取代,舊方法被廢棄。

  • IVariableState::GetLastState 方法更名為 IVariableState::GetState,舊名稱被廢棄

  • IMemoryState 更名為 IVariableState,舊名稱仍可使用,但不推薦

CPU 插件

  • 增加了對新運(yùn)算的支持:

  • Loop-5

  • Round-5

  • NonMaxSuppression-3, NonMaxSuppression-5

  • HSigmoid-5

  • LogSoftmax-5

  • GatherND-5

為 CTCLoss、Pad、Permute 和 Elementwise 運(yùn)算實(shí)施了多項優(yōu)化。這些優(yōu)化改進(jìn)了客戶模型上的 CPU 性能,大幅提高了 Open Model Zoo 范圍內(nèi)的整體性能幾何平均值。

增加了對動態(tài)輸入的 I64/U64 數(shù)據(jù)類型的支持(通過到 I32 的內(nèi)部轉(zhuǎn)換)。

改進(jìn)了狀態(tài) API,現(xiàn)在可以用于具有多個并行推理請求的應(yīng)用程序:

  • 修復(fù)了 IVariableState::GetName() 方法的 MKLDNN 插件實(shí)施,現(xiàn)在返回變量 ID

  • 在 MKLDNN 插件中增加了對 IVariableState::GetState 的支持

GPU 插件

  • 支持英特爾銳炬? Xe MAX 顯卡(原代號為 DG1) 

  • 增加了對以下操作的支持:

    • HSigmoid-5

    • Round-5

    • LogSoftMax-5

  • 通過非對稱量化改進(jìn)了 int8 卷積的性能

  • 增加了插件側(cè)的編譯內(nèi)核緩存機(jī)制,可使用它代替驅(qū)動程序中的 cl_cache。

MYRIAD 插件

  • 增加了針對新操作的支持:

    • HSwish

    • GatherND

    • 插補(bǔ)

    • Ceil

  • 為 Broadcast 運(yùn)算增加了“雙向”模式。

  • 為 Proposal 運(yùn)算增加了第二個可選輸出。

  • 改善了現(xiàn)有操作的性能:

    • Mish

    • Swish

    • NonMaxSuppression

HDDL 插件

  • 與 MYRIAD 插件中相同的新操作和優(yōu)化。

  • 為 ION 驅(qū)動程序啟用了對 Linux 內(nèi)核 5.4 的支持。

GNA 插件

  • 模型導(dǎo)出現(xiàn)在可保存層名稱,因此可以在導(dǎo)入之后再次使用。

  • 修復(fù)了某些層組合。

nGraph

  • 推出了 opset5。全新 opset 包含以下全新操作。并非所有 OpenVINO? 工具套件插件都支持這些操作。

    • BatchNormInference-5

    • GRUSequence-5

    • RNNSequence-5

    • LSTMSequence-5

    • Loop-5

    • Round-5

    • NonMaxSuppression-5

    • HSigmoid-5

    • LogSoftmax-5

  • 實(shí)施了公共 nGraph 轉(zhuǎn)換:

    • 低延遲
      轉(zhuǎn)換展開了 TensorIterator 節(jié)點(diǎn),以在低延遲下對其進(jìn)行逐步推理,每次推理運(yùn)算中均存儲狀態(tài)。 轉(zhuǎn)換將迭代次數(shù)更改為 1,并使用 ReadValue 和 Assign 運(yùn)算代替后向邊(例如,RNN 狀態(tài)輸入和輸出)。 可對 CPU 和 GNA 插件進(jìn)行該轉(zhuǎn)換。

  • 公共 nGraph API 變更:

    • 推出 Sink 類以方便識別屬于圖形中的“Sinks”(未被任何其他節(jié)點(diǎn)使用的節(jié)點(diǎn))的運(yùn)算。通過“添加/移除 Sinks”的方法擴(kuò)展了 nGraph Function API。目前,只有 Assign 節(jié)點(diǎn)繼承自 Sync 類,Result 節(jié)點(diǎn)是單獨(dú)存儲的特殊節(jié)點(diǎn),并不是 Sinks。

  • 在與英特爾? Distribution of OpenVINO? 工具套件集成之前持續(xù)清理 nGraph 原始代碼庫,可移除該工具套件不支持的傳統(tǒng)運(yùn)算。

神經(jīng)網(wǎng)絡(luò)壓縮框架 (NNCF)

  • 對于單級對象檢測的情況,將 NNCF 與 OTE/mmdetection 集成。

  • 發(fā)布了面向 PyTorch 的 NNCF v1.5:

    • 切換了默認(rèn)情況下設(shè)置的量化器基于傳播的模式(與硬件配置更好集成)。

    • 對 HAWQ 混合精度量化算法實(shí)施了改進(jìn):壓縮比參數(shù)支持、激活量化器位寬選擇、更通用的損失計算方法。

    • 通過視覺處理器硬件配置為 EltWise 提供統(tǒng)一標(biāo)度支持。

    • 啟用了 GPT2 壓縮,在受支持的模型列表中增加了修剪后的 googlenet-v1。

    • 有關(guān)功能的詳細(xì)信息和完整列表,請參閱 NNCF 發(fā)布說明。

訓(xùn)練后優(yōu)化工具

  • 在 POT 配置中引入了模型預(yù)設(shè),特別是 Transformer 模型的預(yù)設(shè),使 POT 用戶可以更輕松地量化這些模型。

  • 改進(jìn)了 POT 文檔,包括量化示例。增加了《常見問題解答》文檔。 

  • 擴(kuò)大了模型覆蓋范圍:額外啟用了45 個模型。

深度學(xué)習(xí)工作臺

  • 發(fā)行版:深度學(xué)習(xí)工作臺現(xiàn)在可在英特爾? DevCloud for the Edge 中使用

  • 增加了對用于風(fēng)格遷移、超級分辨率和圖像修復(fù)用例的 GAN 模型的支持 

  • 增加了以 CSV 格式導(dǎo)出分析實(shí)驗(yàn)結(jié)果的功能

OpenCV*

  • 將版本更新至 4.5.1。

  • 在 VideoCapture API 的 Media SDK (MFX) 后端增加了對寬度/高度屬性的支持。

  • G-API:為推理和流 API 增加了更多 CV 運(yùn)算和Python 綁定,并為媒體格式支持引入了 MediaFrame 數(shù)據(jù)類型(例如 NV12)。

示例

  • 語音樣本命令行參數(shù)中的輸入層(用于輸入數(shù)據(jù)文件)和輸出層(用于輸出和參考文件)順序現(xiàn)在可以使用新的命令行參數(shù)(-iname 和 -oname)明確指定。

Open Model Zoo

使用額外的 CNN 預(yù)訓(xùn)練模型和預(yù)生成的中間表示 (.xml + .bin) 擴(kuò)展了 Open Model Zoo:

  • bert-large-whole-word-masking-squad-fp32-0001 renamed to bert-large-uncased-whole-word-masking-squad-0001

  • bert-small-uncased-whole-word-masking-squad-int8-0002

  • bert-small-uncased-whole-word-masking-squad-emb-int8-0001

  • formula-recognition-polynomials-handwritten-0001-decoder

  • formula-recognition-polynomials-handwritten-0001-encoder

  • handwritten-simplified-chinese-recognition-0001

  • human-pose-estimation-0002

  • human-pose-estimation-0003

  • human-pose-estimation-0004

  • person-detection-0003

  • text-spotting-0003-detector

  • text-spotting-0003-recognizer-decoder

  • text-spotting-0003-recognizer-encoder

  • 替換了 2021.1 模型:

  • 已添加新模型:

  • 最終模型:

對以下模型的支持?jǐn)U展了公有模型列表:

模型名稱

任務(wù)

框架

anti-spoof-mn3

classification

PyTorch

cocosnetimage_translationPyTorch
colorization-v2image_processingPyTorch
colorization-siggraphimage_processingPyTorch
common-sign-language-0001classificationPyTorch
efficientdet-d0-tfobject_detectionTensorFlow
efficientdet-d1-tfobject_detectionTensorFlow
forward-tacotron-duration-predictiontext_to_speechPyTorch
forward-tacotron-regressiontext_to_speechPyTorch
fcrn-dp-nyu-depth-v2-tfdepth_estimationTensorFlow
hrnet-v2-c1-segmentationsemantic_segmentationPyTorch
mozilla-deepspeech-0.8.2speech_recognitionTensorFlow
shufflenet-v2-x1.0classificationPyTorch
wavernn-rnntext_to_speechPyTorch
wavernn-upsamplertext_to_speechPyTorch
yolact-resnet50-fpn-pytorchinstance_segementationPyTorch
yolo-v4-tfobject_detectionTensorFlow

用著色模型的 PyTorch 變體來取代該模型的舊的 Caffe 變體。

  • 增加了新的演示應(yīng)用:

  • Python gesture_recognition_demo(代替 asl_recognition_demo)

  • Python human_pose_estimation_demo(支持新的 human-pose-estimation-0002/3/4 模型)

  • Python image_translation_demo

  • Python text to speech demo

  • Python object_detection_demo(代替 object_detection_demo_centernet、object_detection_demo_faceboxes、object_detection_demo_retinaface、object_detection_demo_ssd_async 和 object_detection_demo_yolov3_async)

  • C++ object_detection_demo(替換 object_detection_demo_ssd_async 和 object_detection_demo_yolov3_async)

  • 移除了已廢棄的 object_detection_demo_faster_rcnn。

  • Open Model Zoo 工具:

    • 通過支持自定義預(yù)轉(zhuǎn)化腳本擴(kuò)展了 Model Converter,簡化了非凍結(jié)模型圖的轉(zhuǎn)化。

    • 通過覆蓋新的任務(wù)(基于圖像的定位、顯著圖檢測、光流估計、DNA 測序),擴(kuò)展了 Accuracy Checker。

    • 增加了在 Accuracy Checker 中設(shè)置輸入精度和獲取中間指標(biāo)結(jié)果的命令行選項。

    • 改進(jìn)了在 Accuracy Checker 中對 GAN 模型的處理,擴(kuò)展了后處理,增加了新的指標(biāo)(Inception Score 和 Frechet Inception Distance)。

      • 需要使用 Tensorflow 2.3 轉(zhuǎn)換 efficientdet-d0/d1 模型。

深度學(xué)習(xí)流媒體播放器

  • 直接支持 ONNX 模型:DL Streamer gvadetect、gvaclassify 和 gvainference 元素現(xiàn)在將支持 CPU 上的 OpenVINO? 推理引擎支持的 ONNX 模型,無需轉(zhuǎn)換為中間表示 (IR) 格式。

  • 基于全幀和 ROI 的推理:對于連續(xù)檢測和全幀分類等用例,在 gvadetect、gvaclassify 和 gvainference 元素中增加的新屬性 'inference-region' 將使開發(fā)人員能夠在全幀或 ROI(感興趣區(qū)域)上運(yùn)行推理。

  • 無圖像對象跟蹤:在 gvatrack 中引入兩個新算法 'short-term imageless' 和 'zero-term imageless',將能在不訪問圖像數(shù)據(jù)的情況下跟蹤對象。 

  • Docker 文件更新:使用 DL Streamer GitHub 中的 Docker 文件創(chuàng)建的文件夾結(jié)構(gòu)與 OpenVINO? 在 DockerHub* 上發(fā)布的 Docker 映像一致。無論選擇哪種發(fā)行方式(OpenVINO Installer、OpenVINO Docker 映像、DL Streamer Docker 文件、從源構(gòu)建),開發(fā)人員現(xiàn)在都可以按照相同的說明和準(zhǔn)則使用 DL Streamer。

有關(guān) DL Streamer 的更多信息,請參閱位于 GitHub 上的 DL Streamer 開源項目存儲庫“openVINO? 工具套件 - DL Streamer”中的 DL Streamer 教程、API 參考和樣本。還可訪問“DL Streamer 樣本”查看樣本文檔。

OpenVINO? 模型服務(wù)器

  • 有向無環(huán)圖 (DAG) 調(diào)度程序 -(以前為 `models ensemble`)該功能首次在 2021.1 版中以預(yù)覽版的形式提供?,F(xiàn)在它已得到官方支持,從而使定義由響應(yīng)單個預(yù)測請求的多個互聯(lián)模型組成的推理管道成為可能。在該版本中,我們增加了對其余 API 調(diào)用(預(yù)覽版中的 DAG 不支持)的支持,特別是 `GetModelStatus` 和 `GetModelMetadata`。`GetModelStatus` 返回整個管道的狀態(tài),而 GetModelMetadata 返回管道輸入和輸出參數(shù)。新的 2021.2 版改進(jìn)了 DAG 配置驗(yàn)證。

  • 直接導(dǎo)入 ONNX 模型 - 現(xiàn)在可以導(dǎo)入 ONNX 模型,無需轉(zhuǎn)換為中間表示 (IR) 格式。這有助于利用 ONNX 模型和 PyTorch 訓(xùn)練框架簡化部署。

  • 自定義加載器以及與 OpenVINO? 安全插件的集成 - 現(xiàn)在可以定義自定義庫,用于處理模型加載操作 - 包括與模型解密和許可證驗(yàn)證有關(guān)的額外步驟。要了解有關(guān)模型保護(hù)的信息,請查看安全插件組件的文檔。

  • 流量加密 - 新的部署配置通過 mTLS 證書進(jìn)行客戶端授權(quán),通過與 Docker 容器中的 NGINX 反向代理集成進(jìn)行流量加密。 

  • 從云存儲進(jìn)行遠(yuǎn)程模型緩存 - 進(jìn)行需要重新加載模型的配置變更后,不再多次下載存儲在 Google Cloud Storage (GCS)、Amazon S3 和 Azure blob 中的模型。在模型重新加載操作期間,將使用緩存的模型。更改服務(wù)的模型時,將僅在模型存儲中添加相應(yīng)的新版本文件夾。

OpenVINO? 安全插件

該安全插件是一組工具,讓模型開發(fā)人員能夠使用 OpenVINO? 模型服務(wù)器控制開發(fā)后對模型的訪問,并檢查在受控環(huán)境中運(yùn)行期間對模型的訪問。它由定義模型訪問控制的一組開發(fā)工具、在將模型加載到模型服務(wù)器之前檢查模型許可證的許可服務(wù)、位于 OpenVINO? 模型服務(wù)器內(nèi)的可在其中執(zhí)行訪問受控模型的隔離環(huán)境組成。

 安全插件的關(guān)鍵功能

  • 定義開發(fā)后對模型的訪問控制。

  • 生成限制模型使用天數(shù)的客戶特定許可證。

  • 在將模型加載到 OpenVINO? 模型服務(wù)器之前檢查許可證的有效性。

  • 使用 OpenVINO? 模型服務(wù)器,通過 KVM 虛擬機(jī)在隔離環(huán)境中執(zhí)行模型。

  • 通過 NGINX 控制應(yīng)用程序?qū)δP偷脑L問



關(guān)鍵詞: OpenVINO

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉