openvinotoolkit-prc的相關工具包介紹(中文版)

語言: CN / TW / HK

工具包簡介

為了方便國內開發者的使用,我們在碼雲平台部署了openvinotoolkit-prc項目相關工具包鏡像,包括OpenVINO, open_model_zoo, DLStreamer_gst, model_server, NNCF_pytorch, Training_extensions, CVAT, Datumaro, Docker_ci等9個相關的倉庫。(參見鏈接)[https://gitee.com/openvinotoolkit-prc]

OpenVINO

OpenVINO是英特爾基於自身現有的硬件平台開發的一款可以加快高性能計算機視覺和深度學習視覺應用開發速度工具套件,主要包括兩個組件:模型優化器和推理引擎,以及CPU,GPU和異構插件,以加速在英特爾CPU和英特爾Processor Graphics上的深度學習推理。它支持Open Model Zoo中的預訓練模型,以及100多種流行的格式(例如Caffe,TensorFlow,MXNet和ONNX的開源和公共模型。

Open_model_zoo

Open_model_zoo包括優化的深度學習模型和一些Demos,以加快高性能深度學習推理應用程序的開發。使用這些免費的預訓練模型,而不是訓練自己的模型,以加快開發和生產部署過程。 主要組件:

  • 預訓練模型
  • 公開模型説明
  • 模型下載器和其他自動化工具
  • 通過Deep Learning Deployment Toolkit演示模型用法的Demos
  • 用於模型準確性驗證的Accuracy Checker工具

Dlstreamer_gst

該倉庫是DL Streamer的宿主。DL Streamer是基於GStreamer多媒體框架的流媒體分析框架,用於創建複雜的媒體分析管道。它可確保流水線互操作性,並使用跨英特爾架構CPU、iGPU和英特爾Movidius的OpenVINO Toolkit推理引擎後端的英特爾發行版提供優化的媒體和推理操作。DL Streamer預構建的二進制文件可以與OpenVINO工具包的英特爾發行版一起安裝。

Model Server

OpenVINO Model Server 是可擴展的高性能解決方案,用於服務針對英特爾架構優化的機器學習模型。該服務器通過gRPC(Remote Procedure Calls)端點或REST API提供推理服務--使用與TensorFlow相同的體系結構輕鬆部署新算法和AI實驗,從而為OpenVINO支持的框架中訓練的任何模型提供服務。

使用gRPC接口庫或falcon REST API框架將服務器實現為python服務,並使用TensorFlow和OpenVINO作為推理執行提供程序對數據進行序列化和反序列化。模型存儲庫可以駐留在本地可訪問文件系統(例如NFS),Google Cloud Storage (GCS), Amazon S3 or MinIO.

一些主要功能:

  • 支持多種框架。提供以通用的格式(例如Caffe *,TensorFlow *,MXNet *和ONNX *)訓練的模型。
  • 部署新的模型版本,而無需更改客户端代碼。
  • 支持AI加速器,包括Intel Movidius Myriad VPU。可以在Bare Metal Hosts或 Docker容器中啟用服務器。
  • Kubernetes部署。該服務器可以部署在Kubernetes集羣中,從而允許推理服務水平擴展並確保高可用性。
  • Sagemaker集成。該服務器支持使用AWS SageMaker容器來提供推理執行。
  • 支持多員工配置和並行推理執行。
  • 模型重塑。服務器支持在運行時重塑模型。

Nncf_pytorch

Nncf_pytorch全稱Neural Network Compression Framework,該神經網絡壓縮框架包含基於PyTorch的框架和用於神經網絡壓縮的樣本。它以Python的形式組織,可以在獨立模式下構建和使用。框架架構是統一的,可以輕鬆添加不同的壓縮方法。

它的主要特徵有:

  • 在模型微調過程中應用的各種壓縮算法的支持,以實現最佳壓縮參數和精度:
  • 量化
  • 二值化
  • 稀疏性
  • 過濾修剪
  • 自動,可配置的模型圖轉換以獲得壓縮模型。源模型由自定義類包裝,並且在圖形中插入了其他特定於壓縮的圖層。
  • 壓縮方法的通用接口
  • GPU加速層可加快壓縮模型的微調
  • 分佈式訓練支持
  • 每個受支持的壓縮算法的配置文件示例。
  • 適用於著名第三方存儲庫(mmdetection,havingface-transformers)的Git補丁,展示了將NNCF集成到自定義訓練管道中的過程
  • 將壓縮模型導出到ONNX檢查點,以供OpenVINO™工具包使用。

基本的工作流程: 是加載一個JSON配置腳本,其中包含特定於NNCF的參數,這些參數確定要應用於模型的壓縮,然後將模型與配置腳本一起傳遞給nncf.create_compressed_model函數。此函數返回一個包裝好的模型,可以進行壓縮微調,並處理該對象,從而可以在訓練過程中控制壓縮。

Training_extensions

OpenVINO訓練擴展為訓練深度學習模型提供了一個便利的環境,並使用OpenVINO工具包對其進行了轉換以優化推理

CVAT

CVAT全稱Computer Vision Annotation Tool,是用於計算機視覺的免費、在線、交互式視頻和圖像註釋工具。

Datumaro

Datumaro全稱Dataset Management Framework,是一個數據集管理框架,用於構建,轉換和分析數據集的框架和CLI工具,它的安裝依賴於python環境。

主要可以做以下幾方面的工作:

  • 數據集在任何方向上的讀取,寫入,轉換。支持的數據集有:COCO、PASCAL VOC、YOLO、TF Detection API、MOT sequences、MOTS PNG、CVAT、LabelMe。
  • 數據集的構建
  • 數據集質量檢查
  • 數據集的比較
  • 數據集統計
  • 模型整合

關係圖如下: 20201024231546

Docker_ci

Docker_ci全稱DockerHub CI,該框架可以使用OpenVINO工具包生成Dockerfile、構建、測試和部署鏡像。我們可以添加圖層並根據需要自定義OpenVINO™的圖像,還可以重用可用的Dockerfile。它支持在Linux和Windows的容器中使用OpenVINO手動構建Docker的鏡像。需要強調的一點是,容器內的OpenVINO工具包與本地安裝在主機上的OpenVINO工具包是相同的,所以官方文檔同樣適用於Docker版本的OpenVINO。