<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          千行百業(yè)智能化落地,MMDeploy 助你一“部”到位

          共 2572字,需瀏覽 6分鐘

           ·

          2022-04-19 12:36


          OpenMMLab 開源以來,每天都會收到社區(qū)用戶的靈魂拷問


          ”O(jiān)penMMLab 的算法如何部署?“


          今天,OpenMMLab 本年度開源計劃的壓軸項目——


          模型部署工具箱 MMDeploy?

          IS ALL YOU NEED!


          (點擊觀看? 一分鐘讀懂 MMDeploy )


          從今天起,OpenMMLab 不僅能夠提供高質(zhì)量、前沿的人工智能模型,也將強勢打通從算法模型到應(yīng)用程序這 "最后一公里"


          項目鏈接

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


          (趕緊使用起來吧!別忘了點小星星?哦!)




          玩轉(zhuǎn)多元智能化場景



          模型部署是指把機器學(xué)習(xí)產(chǎn)生的訓(xùn)練模型部署到各類云、邊、端設(shè)備上去,使之高效運行,從而將算法模型實際地應(yīng)用到現(xiàn)實生活中的各類任務(wù)中去,實現(xiàn) AI+ 的智能化轉(zhuǎn)型。


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


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


          建立了統(tǒng)一管理、高效運行、多后端支持的模型轉(zhuǎn)換框架;


          實現(xiàn)了高度可擴展的組件式 SDK 開發(fā)框架;


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


          目前,我們已經(jīng)支持 5 個算法庫5 種后端推理引擎,囊括多種應(yīng)用場景——


          MMDeploy 所支持算法庫:


          檢測(MMDetection)


          分割(MMSegmentation)


          分類(MMClassification)


          編輯(MMEditing)


          文字識別(MMOCR)


          MMDeploy 所支持后端推理引擎:


          ONNX Runtime


          TensorRT


          OpenPPL


          ncnn


          OpenVINO?


          后續(xù)我們將不斷迭代,支持更多的算法庫和后端引擎,也歡迎大家留言告訴我們你所需要的算法庫名,開發(fā)者們一定快馬加鞭滿足社區(qū)同學(xué)需求!


          同時更歡迎各推理引擎的開發(fā)者一起合作,將 OpenMMLab 繁榮的算法生態(tài)硬件推理對接起來~



          MMDeploy 整體架構(gòu)


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



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


          模型轉(zhuǎn)換器




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


          模型轉(zhuǎn)換器的具體步驟為:


          把 PyTorch 轉(zhuǎn)換成 ONNX 模型


          對 ONNX 模型進行優(yōu)化


          把 ONNX 模型轉(zhuǎn)換成后端推理引擎支持的模型格式


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


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


          模塊重寫

          有效代碼替換


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


          模型分塊

          精準(zhǔn)切除冗余


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


          自定義算子

          擴展引擎能力


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


          應(yīng)用開發(fā)工具包 SDK




          接口層



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

          SDK 充分考慮了接口的易用性和友好性。每組接口均只由 ‘創(chuàng)建句柄’、‘應(yīng)用句柄’、‘銷毀數(shù)據(jù)’ 和 ‘銷毀句柄’ 等函數(shù)組成。用法簡單、便于集成。


          流水線層



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


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


          組件層



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


          設(shè)備組件(Device)

          對硬件設(shè)備以及 runtime 的抽象


          模型組件(Model)

          支持 SDK Model 不同的文件格式


          任務(wù)組件(Task)

          模型推理過程中,流水線的最小執(zhí)行單元。


          其中任務(wù)組件分為:


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


          - 網(wǎng)絡(luò)推理引擎(net):對推理引擎的封裝。目前,SDK 可以接入5種推理引擎:PPL.NN, TensorRT, ONNX Runtime, NCNN 和 OpenVINO。


          - 后處理(postprocess):對應(yīng)與 OpenMMLab 各算法庫的后處理功能。


          核心層



          核心層是 SDK 的基石,定義了 SDK 最基礎(chǔ)、最核心的數(shù)據(jù)結(jié)構(gòu)。


          作為 OpenMMLab 大家庭的部署側(cè)全能工具包,MMDeploy 協(xié)助開發(fā)者們將優(yōu)質(zhì)的模型部署到設(shè)備上高效運行,架起了模型從研發(fā)到落地的橋梁,讓算法在實際生產(chǎn)中發(fā)揮出更大價值。




          還等什么?!


          千行百業(yè)智能化落地

          MMDeploy 助你一“部”到位!


          歡迎社區(qū)小伙伴使用,期待?Star、Issue、PR!


          歡迎使用


          項目地址

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


          快速入門文檔鏈接


          英文:

          https://github.com/open-mmlab/mmdeploy/blob/master/docs/en/get_started.md

          中文:

          https://github.com/open-mmlab/mmdeploy/blob/master/docs/zh_cn/get_started.md


          瀏覽 95
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文大香蕉视频在线 | 18禁操逼网站 | 我想看操逼的 | 亚洲人操逼视频 | 日韩AⅤ无码 |