<pre id="j9nnl"></pre>
        <ruby id="j9nnl"></ruby>
          <pre id="j9nnl"></pre><ruby id="j9nnl"><mark id="j9nnl"></mark></ruby>
          <p id="j9nnl"><mark id="j9nnl"><progress id="j9nnl"></progress></mark></p>

              <p id="j9nnl"><cite id="j9nnl"></cite></p>

                  <ruby id="j9nnl"></ruby>

                  <del id="j9nnl"><dfn id="j9nnl"><th id="j9nnl"></th></dfn></del>

                        <ruby id="j9nnl"><mark id="j9nnl"><thead id="j9nnl"></thead></mark></ruby>
                        <p id="j9nnl"></p>

                        <p id="j9nnl"><mark id="j9nnl"></mark></p>
                          <p id="j9nnl"><del id="j9nnl"><thead id="j9nnl"></thead></del></p>

                          新聞動態

                          Dynamics

                          首頁 >  新聞動態  > 詳情

                          MMDeploy模型部署工具箱,打通從算法到應用 “最后一公里”

                          OpenMMLab 開源以來,經常會收到社區用戶的靈魂拷問:“OpenMMLab 的算法如何部署?”

                          近日,OpenMMLab 推出本年度開源計劃的壓軸項目:模型部署工具箱MMDeploy。

                          如今,OpenMMLab 不僅能夠提供高質量、前沿的人工智能算法模型,也將強勢打通從算法模型到應用程序的 “最后一公里”!


                          玩轉多元智能化場景

                          模型部署是指把機器學習產生的訓練模型部署到各類云、邊、端設備上去,使之高效運行,從而將算法模型應用到現實中的各類任務中去,實現 “AI+” 的智能化轉型。

                          OpenMMLab 最新部署工具 MMDeploy 具有以下特點:

                          ?全面對接 OpenMMLab 各算法體系,提供算法快速落地的通道;

                          ?建立了統一管理、高效運行、多后端支持的模型轉換框架;

                          ?實現了高度可擴展的組件式 SDK 開發框架;

                          ?擁有靈活、開放、多樣化的輸出,滿足不同用戶的需求。

                          目前,MMDeploy 已經支持 5 個算法庫和 5 種后端推理引擎,囊括多種應用場景。


                          MMDeploy 所支持算法庫:

                          檢測(MMDetection)

                          分割(MMSegmentation)

                          分類(MMClassification)

                          編輯(MMEditing)

                          文字識別(MMOCR)

                          MMDeploy 所支持后端推理引擎:

                          ONNX Runtime

                          TensorRT

                          OpenPPL

                          ncnn

                          OpenVINO 


                          后續MMDeploy將不斷迭代,支持更多算法庫和后端引擎,也歡迎用戶留言告知所需要的算法庫名稱,開發者們將快馬加鞭滿足社區需求!

                          同時更歡迎各推理引擎的開發者一起合作,共同對接 OpenMMLab 的算法生態和硬件推理。


                          MMDeploy 整體架構

                          MMDeploy 以各算法庫的模型為輸入,把模型轉換成推理后端要求的模型格式,運行在多樣化的設備中。

                          圖1.png

                          從具體模塊組成看,MMDeploy 包含 2 個核心要素:模型轉換器 ( Model Converter ) 和應用開發工具包(SDK)。


                          模型轉換器

                          圖2.png

                          模型轉換器 ( Model Converter )  負責把各算法庫的 PyTorch 模型轉換成推理后端的模型,并進一步封裝為 SDK 模型。

                          模型轉換器的具體步驟為:

                          ?把 PyTorch 轉換成 ONNX 模型

                          ?對 ONNX 模型進行優化

                          ?把 ONNX 模型轉換成后端推理引擎支持的模型格式

                          ?(可選)把模型轉換中的 meta 信息和后端模型打包成 SDK 模型

                          在傳統部署流水線中,兼容性是最難解決的瓶頸。針對這些問題,MMDeploy 在模型轉換器中添加了模塊重寫、模型分塊和自定義算子這三大功能。

                          模塊重寫 有效代碼替換

                          針對部分 Python 代碼無法直接轉換成 ONNX 的問題,MMDeploy 使用重寫機制實現了函數、模塊、符號表等三種粒度的代碼替換,有效地適配 ONNX。

                          模型分塊 精準切除冗余

                          針對部分模型的邏輯過于復雜,在后端里無法支持的問題,MMDeploy 使用了模型分塊機制,能像手術刀一樣精準切除掉模型中難以轉換的部分,把原模型分成多個子模型,分別轉換。這些被去掉的邏輯會在 SDK 中實現。

                          自定義算子 擴展引擎能力

                          OpenMMLab 實現了一些新算子,這些算子在 ONNX 或者后端中沒有支持。針對這個問題,MMDeploy 把自定義算子在多個后端上進行了實現,擴充了推理引擎的表達能力。


                          應用開發工具包 SDK

                          圖3.png

                          接口層

                          SDK 為每種視覺任務均提供一組 C API。目前開放了分類、檢測、分割、超分、文字檢測、文字識別等幾類任務的接口。

                          SDK 充分考慮了接口的易用性和友好性。每組接口均只由“創建句柄”“應用句柄”“銷毀數據”和“銷毀句柄”等函數組成。用法簡單、便于集成。

                          流水線層

                          SDK 把模型推理統一抽象為計算流水線,包括前處理、網絡推理和后處理。對流水線的描述在 SDK Model 的 meta 信息中。使用 Model Converter 轉換模型時,加入 --dump-info 命令即可自動生成。

                          不僅是單模型,SDK 同樣可把流水線拓展到多模型推理場景,例如在檢測任務后接入識別任務。

                          組件層

                          組件層為流水線中的節點提供具體的功能。SDK 定義了3類組件:

                          01.設備組件(Device)    對硬件設備以及 runtime 的抽象

                          02.模型組件(Model)    支持 SDK Model 不同的文件格式

                          03.任務組件(Task)    模型推理過程中,流水線的最小執行單元

                          其中任務組件分為:

                          ?預處理(preprocess):與 OpenMMLab Transform 算子對齊,比如 Resize、Crop、Pad、Normalize等等。每種算子均提供了 cpu、cuda 兩種實現方式。

                          ?網絡推理引擎(net):對推理引擎的封裝。目前,SDK 可以接入5種推理引擎:PPL.NN、TensorRT、ONNX Runtime、ncnn 和 OpenVINO。

                          ?后處理(postprocess):對應與 OpenMMLab 各算法庫的后處理功能。

                          核心層

                          核心層是 SDK 的基石,定義了 SDK 最基礎、最核心的數據結構。

                          作為 OpenMMLab 大家庭的部署側全能工具包,MMDeploy 協助開發者們將優質的模型部署到設備上高效運行,架起了模型從研發到落地的橋梁,讓算法在實際生產中發揮出更大價值。

                          圖4.png

                          項目地址:https://github.com/open-mmlab/mmdeploy 

                          Github:https://github.com/open-mmlab/mmdeploy


                          comm@pjlab.org.cn

                          上海市徐匯區云錦路701號西岸國際人工智能中心37-38層

                          滬ICP備2021009351號-1

                          <pre id="j9nnl"></pre>
                                <ruby id="j9nnl"></ruby>
                                  <pre id="j9nnl"></pre><ruby id="j9nnl"><mark id="j9nnl"></mark></ruby>
                                  <p id="j9nnl"><mark id="j9nnl"><progress id="j9nnl"></progress></mark></p>

                                      <p id="j9nnl"><cite id="j9nnl"></cite></p>

                                          <ruby id="j9nnl"></ruby>

                                          <del id="j9nnl"><dfn id="j9nnl"><th id="j9nnl"></th></dfn></del>

                                                <ruby id="j9nnl"><mark id="j9nnl"><thead id="j9nnl"></thead></mark></ruby>
                                                <p id="j9nnl"></p>

                                                <p id="j9nnl"><mark id="j9nnl"></mark></p>
                                                  <p id="j9nnl"><del id="j9nnl"><thead id="j9nnl"></thead></del></p>
                                                  韩国伦理电影