OpenVINO?工具套件 2021 版的發(fā)布說(shuō)明
英特爾? Distribution of OpenVINO? 工具套件用于快速開(kāi)發(fā)應(yīng)用程序和解決方案,以解決各種任務(wù)(例如:模擬人類(lèi)視覺(jué)、自動(dòng)語(yǔ)音識(shí)別、自然語(yǔ)言處理和推薦系統(tǒng)等)。該工具套件基于最新一代的人工神經(jīng)網(wǎng)絡(luò),包括卷積神經(jīng)網(wǎng)絡(luò) (CNN)、遞歸網(wǎng)絡(luò)和基于注意力的網(wǎng)絡(luò),可擴(kuò)展跨英特爾? 硬件的計(jì)算機(jī)視覺(jué)和非視覺(jué)工作負(fù)載,從而最大限度地提高性能。它通過(guò)從邊緣到云部署的高性能、人工智能和深度學(xué)習(xí)推理來(lái)為應(yīng)用程序加速。
本文引用地址:http://www.ex-cimer.com/article/202103/423907.htm英特爾? Distribution of OpenVINO? 工具套件
支持從邊緣到云的深度學(xué)習(xí)推理。
借助英特爾? CPU、英特爾? 集成顯卡、英特爾? Gaussian & Neural Accelerator、英特爾? 神經(jīng)電腦棒 2、搭載英特爾? Movidius? 視覺(jué)處理器的英特爾? Vision Accelerator Design 的通用 API,支持跨英特爾加速器的異構(gòu)執(zhí)行。
通過(guò)一套易用的計(jì)算機(jī)視覺(jué)功能庫(kù)和預(yù)優(yōu)化內(nèi)核庫(kù)來(lái)加速上市時(shí)間。
包括針對(duì) CV 標(biāo)準(zhǔn)進(jìn)行的調(diào)用優(yōu)化,包括 OpenCV* 和 OpenCL?。
第 2 版發(fā)布中的更新和更改
要點(diǎn)綜述
將深度學(xué)習(xí)工作臺(tái)與英特爾? DevCloud for the Edge 集成以構(gòu)成 Beta 版本。使用英特爾? DevCloud for the Edge 上的深度學(xué)習(xí)工作臺(tái)(而不是僅本地計(jì)算機(jī))以圖形方式分析模型,從而針對(duì)多個(gè)遠(yuǎn)程硬件配置進(jìn)行解決方案的比較、可視化和微調(diào)。
推出對(duì) Red Hat Enterprise Linux (RHEL) 8.2 的支持。有關(guān)更多信息,請(qǐng)參閱系統(tǒng)要求。 運(yùn)行時(shí)包可供下載。
在模型優(yōu)化器中為通過(guò) TensorFlow 量化感知訓(xùn)練進(jìn)行了量化的模型推出每通道量化支持(包括權(quán)重的每通道量化),通過(guò)模型壓縮和延遲減少提高了性能。
預(yù)訓(xùn)練模型和對(duì)公共模型的支持,以簡(jiǎn)化開(kāi)發(fā):
公共模型:Yolov4(用于對(duì)象檢測(cè))、AISpeech(用于語(yǔ)音識(shí)別)和 DeepLabv3(用于語(yǔ)義分割)
預(yù)訓(xùn)練模型:人體姿勢(shì)估計(jì)(更新)、公式識(shí)別多項(xiàng)式手寫(xiě)體(新增)、機(jī)器翻譯(更新)、通用手語(yǔ)識(shí)別(新增)和文本語(yǔ)音轉(zhuǎn)換(新增)
全新的 OpenVINO? 安全插件,通過(guò)安全封裝和執(zhí)行來(lái)控制對(duì)模型的訪問(wèn)。這款全新插件基于 KVM 虛擬機(jī)和 Docker* 容器,與 OpenVINO? 模型服務(wù)器兼容,可進(jìn)行封裝以實(shí)現(xiàn)靈活部署和受控的模型訪問(wèn)。
PyPI 項(xiàng)目從 openvino-python 遷移到 openvino,2021.1 版將從默認(rèn)視圖中移除。通過(guò)使用 openvino-python==2021.1,依賴于該特定版本的用戶將仍然可以使用該版本。
模型優(yōu)化器
常見(jiàn)的變更
更新了對(duì) NumPy 組件的要求,以避免與 TensorFlow 1.x 產(chǎn)生兼容性問(wèn)題。
借助 Eltwise 和 CTCGreedyDecoder 運(yùn)算,改進(jìn)了模型的重塑能力
ONNX*
已支持使用“ --output”命令行參數(shù)指定模型輸出張量名稱(chēng)的功能。
增加了對(duì)以下操作的支持:
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)用平均/刻度值時(shí),對(duì)使用預(yù)處理塊的 TensorFlow Object Detection API 模型的支持。此前僅支持在調(diào)整大小之后應(yīng)用平均/標(biāo)度值的情況。
將采用 FakeQuantize 方法的限值調(diào)整與 TensorFlow 方法保持一致
增加了對(duì)以下操作的支持:
GatherND
Round
NonMaxSuppression
LogSoftmax
FakeQuantWithMinMaxVarsPerChannel
MXNet*
增加了對(duì)以下操作的支持:
GatherND
Round
Kaldi*
增加了對(duì)以下操作的支持:
TdnnCompontent
推理引擎
常見(jiàn)變更
移除了 inference_engine_legacy 上的依賴項(xiàng)。自 2021.2 版起,客戶的應(yīng)用程序不直接鏈接 inference_engine_legacy。inference_engine_legacy 直接通過(guò)插件鏈接。
增加了對(duì)具有外部數(shù)據(jù)文件的 ONNX 模型讀取的支持。要讀取這些模型,僅需要將 core.ReadNetwork() 方法傳入到 ONNX 模型中,外部數(shù)據(jù)文件將會(huì)自動(dòng)找到并加載。
對(duì)于 ONNX 讀取器,檢測(cè)受支持模型的邏輯有所改進(jìn)。
ONNX 依賴項(xiàng)已更新為 v1.7.0
增加了對(duì) ONNX 函數(shù)的支持(運(yùn)算符列表底部 https://github.com/onnx/onnx/blob/v1.7.0/docs/Operators.md)
改進(jìn)了有關(guān)在 ONNX 載入器中注冊(cè)自定義運(yùn)算的文檔和示例
setBatchSize 方法現(xiàn)已遷移到重塑方法邏輯中,以更新模型的輸入形狀。此外,它還應(yīng)用了對(duì)模型中的某些不可重塑模式進(jìn)行松弛的智能重塑轉(zhuǎn)換。現(xiàn)在可以對(duì)同一模型使用 setBatchSize 和重塑方法,不會(huì)導(dǎo)致先前版本中的未定義行為。
在 Windows 平臺(tái)上,推理引擎庫(kù)在文件屬性中擁有新的“詳細(xì)信息”部分。該部分包含有關(guān)動(dòng)態(tài)鏈接庫(kù) (DLL) 的信息,包括庫(kù)的描述和版本。
廢棄 API
ExecutableNetwork::QueryState 方法被 InferRequest::QueryState 方法取代,舊方法被廢棄。
IVariableState::GetLastState 方法更名為 IVariableState::GetState,舊名稱(chēng)被廢棄
IMemoryState 更名為 IVariableState,舊名稱(chēng)仍可使用,但不推薦
CPU 插件
增加了對(duì)新運(yùn)算的支持:
Loop-5
Round-5
NonMaxSuppression-3, NonMaxSuppression-5
HSigmoid-5
LogSoftmax-5
GatherND-5
為 CTCLoss、Pad、Permute 和 Elementwise 運(yùn)算實(shí)施了多項(xiàng)優(yōu)化。這些優(yōu)化改進(jìn)了客戶模型上的 CPU 性能,大幅提高了 Open Model Zoo 范圍內(nèi)的整體性能幾何平均值。
增加了對(duì)動(dòng)態(tài)輸入的 I64/U64 數(shù)據(jù)類(lèi)型的支持(通過(guò)到 I32 的內(nèi)部轉(zhuǎn)換)。
改進(jìn)了狀態(tài) API,現(xiàn)在可以用于具有多個(gè)并行推理請(qǐng)求的應(yīng)用程序:
修復(fù)了 IVariableState::GetName() 方法的 MKLDNN 插件實(shí)施,現(xiàn)在返回變量 ID
在 MKLDNN 插件中增加了對(duì) IVariableState::GetState 的支持
GPU 插件
支持英特爾銳炬? Xe MAX 顯卡(原代號(hào)為 DG1)
增加了對(duì)以下操作的支持:
HSigmoid-5
Round-5
LogSoftMax-5
通過(guò)非對(duì)稱(chēng)量化改進(jìn)了 int8 卷積的性能
增加了插件側(cè)的編譯內(nèi)核緩存機(jī)制,可使用它代替驅(qū)動(dòng)程序中的 cl_cache。
MYRIAD 插件
增加了針對(duì)新操作的支持:
HSwish
GatherND
插補(bǔ)
Ceil
為 Broadcast 運(yùn)算增加了“雙向”模式。
為 Proposal 運(yùn)算增加了第二個(gè)可選輸出。
改善了現(xiàn)有操作的性能:
Mish
Swish
NonMaxSuppression
HDDL 插件
與 MYRIAD 插件中相同的新操作和優(yōu)化。
為 ION 驅(qū)動(dòng)程序啟用了對(duì) Linux 內(nèi)核 5.4 的支持。
GNA 插件
模型導(dǎo)出現(xiàn)在可保存層名稱(chēng),因此可以在導(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)換展開(kāi)了 TensorIterator 節(jié)點(diǎn),以在低延遲下對(duì)其進(jìn)行逐步推理,每次推理運(yùn)算中均存儲(chǔ)狀態(tài)。 轉(zhuǎn)換將迭代次數(shù)更改為 1,并使用 ReadValue 和 Assign 運(yùn)算代替后向邊(例如,RNN 狀態(tài)輸入和輸出)。 可對(duì) CPU 和 GNA 插件進(jìn)行該轉(zhuǎn)換。公共 nGraph API 變更:
推出 Sink 類(lèi)以方便識(shí)別屬于圖形中的“Sinks”(未被任何其他節(jié)點(diǎn)使用的節(jié)點(diǎn))的運(yùn)算。通過(guò)“添加/移除 Sinks”的方法擴(kuò)展了 nGraph Function API。目前,只有 Assign 節(jié)點(diǎn)繼承自 Sync 類(lèi),Result 節(jié)點(diǎn)是單獨(dú)存儲(chǔ)的特殊節(jié)點(diǎn),并不是 Sinks。
在與英特爾? Distribution of OpenVINO? 工具套件集成之前持續(xù)清理 nGraph 原始代碼庫(kù),可移除該工具套件不支持的傳統(tǒng)運(yùn)算。
神經(jīng)網(wǎng)絡(luò)壓縮框架 (NNCF)
對(duì)于單級(jí)對(duì)象檢測(cè)的情況,將 NNCF 與 OTE/mmdetection 集成。
發(fā)布了面向 PyTorch 的 NNCF v1.5:
切換了默認(rèn)情況下設(shè)置的量化器基于傳播的模式(與硬件配置更好集成)。
對(duì) HAWQ 混合精度量化算法實(shí)施了改進(jìn):壓縮比參數(shù)支持、激活量化器位寬選擇、更通用的損失計(jì)算方法。
通過(guò)視覺(jué)處理器硬件配置為 EltWise 提供統(tǒng)一標(biāo)度支持。
啟用了 GPT2 壓縮,在受支持的模型列表中增加了修剪后的 googlenet-v1。
有關(guān)功能的詳細(xì)信息和完整列表,請(qǐng)參閱 NNCF 發(fā)布說(shuō)明。
訓(xùn)練后優(yōu)化工具
在 POT 配置中引入了模型預(yù)設(shè),特別是 Transformer 模型的預(yù)設(shè),使 POT 用戶可以更輕松地量化這些模型。
改進(jìn)了 POT 文檔,包括量化示例。增加了《常見(jiàn)問(wèn)題解答》文檔。
擴(kuò)大了模型覆蓋范圍:額外啟用了45 個(gè)模型。
深度學(xué)習(xí)工作臺(tái)
發(fā)行版:深度學(xué)習(xí)工作臺(tái)現(xiàn)在可在英特爾? DevCloud for the Edge 中使用
增加了對(duì)用于風(fēng)格遷移、超級(jí)分辨率和圖像修復(fù)用例的 GAN 模型的支持
增加了以 CSV 格式導(dǎo)出分析實(shí)驗(yàn)結(jié)果的功能
OpenCV*
將版本更新至 4.5.1。
在 VideoCapture API 的 Media SDK (MFX) 后端增加了對(duì)寬度/高度屬性的支持。
G-API:為推理和流 API 增加了更多 CV 運(yùn)算和Python 綁定,并為媒體格式支持引入了 MediaFrame 數(shù)據(jù)類(lèi)型(例如 NV12)。
示例
語(yǔ)音樣本命令行參數(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 模型:
已添加新模型:
最終模型:
對(duì)以下模型的支持?jǐn)U展了公有模型列表:
模型名稱(chēng) | 任務(wù) | 框架 |
---|---|---|
anti-spoof-mn3 | classification | PyTorch |
cocosnet | image_translation | PyTorch |
colorization-v2 | image_processing | PyTorch |
colorization-siggraph | image_processing | PyTorch |
common-sign-language-0001 | classification | PyTorch |
efficientdet-d0-tf | object_detection | TensorFlow |
efficientdet-d1-tf | object_detection | TensorFlow |
forward-tacotron-duration-prediction | text_to_speech | PyTorch |
forward-tacotron-regression | text_to_speech | PyTorch |
fcrn-dp-nyu-depth-v2-tf | depth_estimation | TensorFlow |
hrnet-v2-c1-segmentation | semantic_segmentation | PyTorch |
mozilla-deepspeech-0.8.2 | speech_recognition | TensorFlow |
shufflenet-v2-x1.0 | classification | PyTorch |
wavernn-rnn | text_to_speech | PyTorch |
wavernn-upsampler | text_to_speech | PyTorch |
yolact-resnet50-fpn-pytorch | instance_segementation | PyTorch |
yolo-v4-tf | object_detection | TensorFlow |
用著色模型的 PyTorch 變體來(lái)取代該模型的舊的 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 工具:
通過(guò)支持自定義預(yù)轉(zhuǎn)化腳本擴(kuò)展了 Model Converter,簡(jiǎn)化了非凍結(jié)模型圖的轉(zhuǎn)化。
通過(guò)覆蓋新的任務(wù)(基于圖像的定位、顯著圖檢測(cè)、光流估計(jì)、DNA 測(cè)序),擴(kuò)展了 Accuracy Checker。
增加了在 Accuracy Checker 中設(shè)置輸入精度和獲取中間指標(biāo)結(jié)果的命令行選項(xiàng)。
改進(jìn)了在 Accuracy Checker 中對(duì) 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 模型,無(wú)需轉(zhuǎn)換為中間表示 (IR) 格式。
基于全幀和 ROI 的推理:對(duì)于連續(xù)檢測(cè)和全幀分類(lèi)等用例,在 gvadetect、gvaclassify 和 gvainference 元素中增加的新屬性 'inference-region' 將使開(kāi)發(fā)人員能夠在全幀或 ROI(感興趣區(qū)域)上運(yùn)行推理。
無(wú)圖像對(duì)象跟蹤:在 gvatrack 中引入兩個(gè)新算法 'short-term imageless' 和 'zero-term imageless',將能在不訪問(wèn)圖像數(shù)據(jù)的情況下跟蹤對(duì)象。
Docker 文件更新:使用 DL Streamer GitHub 中的 Docker 文件創(chuàng)建的文件夾結(jié)構(gòu)與 OpenVINO? 在 DockerHub* 上發(fā)布的 Docker 映像一致。無(wú)論選擇哪種發(fā)行方式(OpenVINO Installer、OpenVINO Docker 映像、DL Streamer Docker 文件、從源構(gòu)建),開(kāi)發(fā)人員現(xiàn)在都可以按照相同的說(shuō)明和準(zhǔn)則使用 DL Streamer。
有關(guān) DL Streamer 的更多信息,請(qǐng)參閱位于 GitHub 上的 DL Streamer 開(kāi)源項(xiàng)目存儲(chǔ)庫(kù)“openVINO? 工具套件 - DL Streamer”中的 DL Streamer 教程、API 參考和樣本。還可訪問(wèn)“DL Streamer 樣本”查看樣本文檔。
OpenVINO? 模型服務(wù)器
有向無(wú)環(huán)圖 (DAG) 調(diào)度程序 -(以前為 `models ensemble`)該功能首次在 2021.1 版中以預(yù)覽版的形式提供?,F(xiàn)在它已得到官方支持,從而使定義由響應(yīng)單個(gè)預(yù)測(cè)請(qǐng)求的多個(gè)互聯(lián)模型組成的推理管道成為可能。在該版本中,我們?cè)黾恿藢?duì)其余 API 調(diào)用(預(yù)覽版中的 DAG 不支持)的支持,特別是 `GetModelStatus` 和 `GetModelMetadata`。`GetModelStatus` 返回整個(gè)管道的狀態(tài),而 GetModelMetadata 返回管道輸入和輸出參數(shù)。新的 2021.2 版改進(jìn)了 DAG 配置驗(yàn)證。
直接導(dǎo)入 ONNX 模型 - 現(xiàn)在可以導(dǎo)入 ONNX 模型,無(wú)需轉(zhuǎn)換為中間表示 (IR) 格式。這有助于利用 ONNX 模型和 PyTorch 訓(xùn)練框架簡(jiǎn)化部署。
自定義加載器以及與 OpenVINO? 安全插件的集成 - 現(xiàn)在可以定義自定義庫(kù),用于處理模型加載操作 - 包括與模型解密和許可證驗(yàn)證有關(guān)的額外步驟。要了解有關(guān)模型保護(hù)的信息,請(qǐng)查看安全插件組件的文檔。
流量加密 - 新的部署配置通過(guò) mTLS 證書(shū)進(jìn)行客戶端授權(quán),通過(guò)與 Docker 容器中的 NGINX 反向代理集成進(jìn)行流量加密。
從云存儲(chǔ)進(jìn)行遠(yuǎn)程模型緩存 - 進(jìn)行需要重新加載模型的配置變更后,不再多次下載存儲(chǔ)在 Google Cloud Storage (GCS)、Amazon S3 和 Azure blob 中的模型。在模型重新加載操作期間,將使用緩存的模型。更改服務(wù)的模型時(shí),將僅在模型存儲(chǔ)中添加相應(yīng)的新版本文件夾。
OpenVINO? 安全插件
該安全插件是一組工具,讓模型開(kāi)發(fā)人員能夠使用 OpenVINO? 模型服務(wù)器控制開(kāi)發(fā)后對(duì)模型的訪問(wèn),并檢查在受控環(huán)境中運(yùn)行期間對(duì)模型的訪問(wèn)。它由定義模型訪問(wèn)控制的一組開(kāi)發(fā)工具、在將模型加載到模型服務(wù)器之前檢查模型許可證的許可服務(wù)、位于 OpenVINO? 模型服務(wù)器內(nèi)的可在其中執(zhí)行訪問(wèn)受控模型的隔離環(huán)境組成。
安全插件的關(guān)鍵功能
定義開(kāi)發(fā)后對(duì)模型的訪問(wèn)控制。
生成限制模型使用天數(shù)的客戶特定許可證。
在將模型加載到 OpenVINO? 模型服務(wù)器之前檢查許可證的有效性。
使用 OpenVINO? 模型服務(wù)器,通過(guò) KVM 虛擬機(jī)在隔離環(huán)境中執(zhí)行模型。
通過(guò) NGINX 控制應(yīng)用程序?qū)δP偷脑L問(wèn)
評(píng)論