OpenVINO?工具套件 2021 版的發(fā)布說明
英特爾? Distribution of OpenVINO? 工具套件用于快速開發(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 OpenVINO? 工具套件
支持從邊緣到云的深度學(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)換(新增)
全新的 OpenVINO? 安全插件,通過安全封裝和執(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 |
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 變體來取代該模型的舊的 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問
評論