在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何將PP-PicoDet 目標檢測模型部署在Corstone-300虛擬硬件平臺上

lhl545545 ? 來源:Arm軟件開發者 ? 作者:Arm軟件開發者 ? 2022-09-22 09:50 ? 次閱讀

本期課程,將以計算機視覺領域的目標檢測任務為目標,帶領大家動手完成從模型訓練優化到深度學習應用部署的整個端到端的開發流程。你會逐步學習了解到如何使用飛槳[1]目標檢測套件 PaddleDetection[2]工具套件完成目標檢測模型的訓練與適配,如何使用深度學習編譯器 TVM 編譯飛槳模型以及如何將編譯后的模型部署在含有 Arm Cortex-M55 處理器的 Arm Corstone-300 虛擬硬件上。

百度飛槳與 Arm 深度合作,增加了 Cortex-M 硬件上支持的深度學習模型的數量,同時也填補了飛槳模型在 Arm Cortex-M 硬件上的適配空白,為開發者提供了更多的選擇。

項目概述

經典的深度學習工程是從確認任務目標開始的,我們首先來簡單地介紹一下目標檢測任務以及本期部署實戰課程中我們所使用的工具和平臺。

1.1 目標檢測任務

目標檢測任務就是將圖片或視頻中所有目標的類別識別出來,并在該目標周圍繪制邊界框,標示出每個目標的位置。常見的目標檢測任務包括人物檢測、人臉檢測、車輛跟蹤等方向,在工業、智慧城市、安防、交通、零售、醫療等十余種行業場景中應用廣泛。

圖 1:目標檢測任務案例

1.2PP-PicoDet

PaddleDetection 中提出了全新的輕量級系列模型 PP-PicoDet,在移動端具有卓越的性能,成為全新的 SOTA 輕量級模型。PP-PicoDet 模型通過創新 SOTA 模塊,例如 ESNet、CSP-PAN、SimOTA 等,不僅第一個實現了在 1M 參數量之內 mAP (0.5:0.95) 超越 30+ (輸入 416 像素時),而且其性能優于同類算法模型。

4e06af0e-39bb-11ed-9e49-dac502259ad0.png

圖 2:PP-PicoDet 系統框圖

更多關于 PP-PicoDet 的詳細技術細節,可查看 PP-PicoDet arXiv 技術報告[3]。

1.3 Arm 虛擬硬件 (Arm Virtual Hardware, AVH)

作為 Arm 物聯網全面解決方案的核心技術之一,AVH 很好地解決了實體硬件所面臨的難擴展、難運維等痛點。AVH[4] 提供了簡單便捷并且可擴展的途徑,讓 IoT 應用的開發擺脫了對實體硬件的依賴并使得云原生開發技術在嵌入式物聯網、邊緣側機器學習領域得到了應用。尤其是在芯片緊張的當今時代,使用 AVH,開發者甚至可以在芯片 RTL 之前便可接觸到最新的處理器 IP。

目前 AVH 提供兩種形式供開發者使用。一種是托管在 AWS 以及 AWS China 上以亞馬遜機器鏡像 AMI 形式存在的 Arm Corstone 和 Cortex CPU 的虛擬硬件,另外一種則是由 Arm 以 SaaS 平臺的形式提供的 AVH 第三方硬件[5]。本期課程我們將使用第一種托管在 AWS 以及 AWS China 上以亞馬遜機器鏡像 AMI 形式存在的 Corstone 和 Cortex CPU 的虛擬硬件。

由于目前 AWS China 賬號主要面向企業級開發者開放,個人開發者可訪問 AWS Marketplace 訂閱 AVH 相關服務。參考下圖步驟創建 AVH AMI 實例。

4e44cc58-39bb-11ed-9e49-dac502259ad0.png

圖 3:AVH AMI 創建步驟

(訪問 AWS Marketplace[6] 訂閱 AVH)

端到端部署流程

接下來將重點向大家展示從模型訓練到部署的全流程,本期課程所涉及的相關代碼已在 GitHub 倉庫開源,歡迎大家下載體驗!

https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.5/deploy/third_engine/demo_avh

4e70544a-39bb-11ed-9e49-dac502259ad0.png

圖 4:端到端部署流程示意圖

2.1 模型訓練

PaddleDetection 使用配置文件 (.yml) 管理網絡訓練、評估的參數。在靜態圖版本下,一個模型往往可以通過兩個配置文件 (一個主配置文件、一個 reader 的讀取配置) 實現,在 PaddleDetection 2.0 后續版本,采用了模塊解耦設計,用戶可以組合配置模塊實現檢測器,并可自由修改覆蓋各模塊配置。我們使用的配置文件[7]位于 configs/picodet 目錄下的 picodet_s_320_coco_lcnet.yml。訓練命令可參考如下:

# Example of training on single-GPU

export CUDA_VISIBLE_DEVICES=0

python tools/train.py -c configs/picodet/picodet_s_320_coco_lcnet.yml --eval

2.2 模型導出

模型訓練完成后,還需要將訓練好的目標檢測模型導出為 Paddle Inference 模型,才能使用深度學習編譯器 TVM 對其進行編譯從而獲得適配在 Cortex-M 處理器上運行的代碼。在導出模型時,由于 CMSIS-NN 不支持 NMS 算子,可通過指定 -o export.nms=False 完成算子適配。參考以下命令導出 Paddle Inference 模型:

# Example exporting model command

python tools/export_model.py

-c configs/picodet/picodet_s_320_coco_lcnet.yml

-o weights=https://paddledet.bj.bcebos.com/models/picodet_s_320_coco_lcnet.pdparams

export.nms=False

--output_dir=output_inference

為了便于開發者朋友直接體驗推理部署的流程,大家可以通過鏈接直接下載我們訓練完成并完成導出適配的目標檢測 Paddle Inference 模型:

https://bj.bcebos.com/v1/paddledet/deploy/Inference/picodet_s_320_coco_lcnet_no_nms.tar

2.3 模型編譯

為實現在 Cortex-M 上直接完成飛槳模型的部署,我們需要借助深度學習編譯器 TVM 來進行相應模型的轉換和適配。TVM 是一款開源的深度學習編譯器,主要用于解決將各種深度學習框架部署到各種硬件設備上的適配性問題。

如下圖所示,它可以接收由飛槳等經典的深度學習訓練框架編寫的模型并將其轉換成可在目標設備上運行推理任務的代碼。

4e831576-39bb-11ed-9e49-dac502259ad0.png

圖 5:編譯流程示意圖

我們使用 TVM 的 Python 應用程序 tvmc 來完成模型的編譯。大家可參考如下命令對 Paddle Inference 模型進行編譯。通過指定 --target=cmsis-nn,c 使得模型中 CMSIS NN[8]庫支持的算子會調用 CMSIS-NN 庫執行,而不支持的算子則會回調到 C 代碼庫。

# Example of Model compiling using tvmc

python3 -m tvm.driver.tvmc compile --target=cmsis-nn,c

--target-cmsis-nn-mcpu=cortex-m55

--target-c-mcpu=cortex-m55

--runtime=crt

--executor=aot

--executor-aot-interface-api=c

--executor-aot-unpacked-api=1

--pass-config tir.usmp.enable=1

--pass-config tir.usmp.algorithm=hill_climb

--pass-config tir.disable_storage_rewrite=1

--pass-config tir.disable_vectorize=1

--output-format=mlf

--model-format=paddle

--module-name=picodet

--input-shapes image:[1,3,320,320]

--output=picodet.tar

picodet_s_320_coco_lcnet_no_nms/model.pdmodel

更多關于參數配置的具體說明,大家可以直接輸入 tvmc compile --help 來查看。編譯后的模型可以在 --output 參數指定的路徑下查看 (此處為當前目錄下的picodet.tar 壓縮包內)。

2.4 模型部署

參考圖 3 所示的 AVH AMI 實例創建的流程并通過 ssh 命令遠程登錄到實例中去,當看到如下所示的提示畫面說明已經成功登入。

4ea7e5c2-39bb-11ed-9e49-dac502259ad0.png

圖 6:AVH AMI 成功登錄界面

成功登入后大家可以切換到“/opt/VHT”以及“/opt”目錄下查看當前版本 AVH AMI 所支持的 Corstone 和 Cortex CPU 虛擬硬件。下圖為部分 1.2.3 版本 AVH AMI 所支持的 AVH 列表。本期部署課程中所使用的正是 Corstone-300 虛擬硬件 (VHT_Corstone_SSE-300_Ethos-U55),其內含有 Cortex-M55 處理器、Arm Ethos-U55 處理器及一些基本外設。更多關于 Corstone-300 虛擬硬件的相關信息,歡迎訪問 Arm 開發者社區的技術文檔[9]進行查看。

4ec7f89e-39bb-11ed-9e49-dac502259ad0.png

圖 7:1.2.3 版本 AVH AMI 所支持的 AVH 部分示意圖

為便于開發者朋友更直觀地體驗如何在AVH上完成飛槳模型部署,我們為大家提供了部署的示例代碼腳本(run_demo.sh)來幫助大家自動化的完成環境配置,構建目標檢測應用以及在含有 Cortex-M55 的 Corstone-300虛擬硬件上執行并獲取結果。

您也可以按照以下幾個步驟來手動部署。

第一步:下載安裝相應的軟件包并配置運行環境

確保示例代碼路徑下 configure_avh.sh 腳本以及 requirment.txt 腳本中涉及的相應軟件包均根據其版本要求正確安裝。

第二步:(下載) 獲取目標檢測 Paddle Inference 模型

可使用 wget 命令下載模型 (下載地址詳見 2.2 節) 并通過 tar 命令解壓模型文件壓縮包。

第三步:使用 TVMC 命令編譯 Paddle Inference 模型

參考 2.3 節中使用的 TVMC 命令編譯第二步下載好的 Paddle Inference 模型 (model.pdmodel)。

第四步:處理圖片數據

參考提供的 convert_image.py 腳本對所測試的示例圖片 000000014439_640x640.jpgs (如下圖所示) 進行處理,并生成相應的輸入輸出頭文件。

圖 8:目標檢測示例圖片

第五步:構建應用程序

使用 Makefile 工具構建目標檢測應用程序的二進制鏡像文件。

第六步:執行目標檢測應用并查看運行結果

調用 VHT_Corstone_SSE-300_Ethos-U55 (Corstone-300 虛擬硬件) 執行構建好的目標檢測應用并查看運行結果。運行結果如下圖所示。

其中,前四個數字為 box 框位置,class 為類別序號,score 為得分。由于模型可能存在精度損失的問題,得分偏低,但整體目標識別結果與圖片一致,說明將飛槳模型直接部署在 Cortex-M55 虛擬硬件上運行良好。

4f0a9f64-39bb-11ed-9e49-dac502259ad0.png

圖 9:Corstone-300

(含 Cortex-M55) 虛擬硬件運行結果

總結

本期課程帶領大家學習了如何將 PaddleDetection 中發布的 PP-PicoDet 目標檢測模型 (完成算子適配后) 部署在 Corstone-300 的虛擬硬件平臺上,歡迎大家動手體驗。后續我們也將持續為大家帶來更多如何在 Arm 虛擬硬件上部署百度飛槳模型的實例,敬請期待!

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 硬件
    +關注

    關注

    11

    文章

    3359

    瀏覽量

    66357
  • 檢測模型
    +關注

    關注

    0

    文章

    17

    瀏覽量

    7326
  • 深度學習
    +關注

    關注

    73

    文章

    5511

    瀏覽量

    121360

原文標題:AVH 動手實踐 (三) | 在 Arm 虛擬硬件上部署 PP-PicoDet 模型

文章出處:【微信號:Arm軟件開發者,微信公眾號:Arm軟件開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何在Arm虛擬硬件虛擬樹莓派4上完成圖像識別應用的部署

    本期課程,小編將以計算機視覺領域的圖像識別任務為目標,帶領大家動手實現在樹莓派的虛擬設備上部署基于 Paddle Lite 的圖像識別模型,以及如何
    的頭像 發表于 09-30 10:00 ?2537次閱讀

    基于C#和OpenVINO?英特爾獨立顯卡上部署PP-TinyPose模型

    和 OpenVINO, PP-TinyPose 模型部署英特爾獨立顯卡上。 1.1 PP-
    的頭像 發表于 11-18 18:27 ?2574次閱讀

    百度飛槳PP-YOLOE ONNX LabVIEW中的部署推理(含源碼)

    對于如何在LabVIEW中實現該模型部署,筆者目前還沒有看到相關介紹文章,所以筆者實現PP-YOLOE ONNX LabVIEW中的
    的頭像 發表于 05-26 14:01 ?1133次閱讀
    百度飛槳<b class='flag-5'>PP</b>-YOLOE ONNX <b class='flag-5'>在</b>LabVIEW中的<b class='flag-5'>部署</b>推理(含源碼)

    AI模型部署邊緣設備的奇妙之旅:目標檢測模型

    網絡(DenseNet)等創新設計都是為了克服深層網絡訓練中的挑戰而提出的。 3 邊緣端設備部署 邊緣端設備部署目標檢測
    發表于 12-19 14:33

    如何將Linux操作系統移植到目標平臺上

    如何將Linux操作系統移植到目標平臺上?Linux交叉編譯環境的建立及內核配置和編譯Linux移植中實際指令集小于標準MIPS指令集的問題如何將Linux操作系統移植到MIPS體系結
    發表于 04-22 07:04

    如何將FreeModbus移植到STM32平臺上

    modbus是什么?如何將FreeModbus移植到STM32平臺上
    發表于 11-17 07:44

    如何將uCOS-III實時操作系統移植到目標平臺上并運行?

    如何將uCOS-III實時操作系統移植到目標平臺上并運行?
    發表于 11-29 06:11

    介紹一種Arm ML嵌入式評估套件

    的輸出是一個優化的 TensorFlow Lite 文件,可以使用 Ethos-U NPU 的系統上進行部署本例中是配置了 Corstone-300 FVP 的 Arm
    發表于 08-12 15:35

    如何用Arm虛擬硬件Arm Cortex-M上部署PaddlePaddle

    推理模型  3. 使用TVMC為目標設備編譯 Paddle 推理模型4. 構建文本識別應用程序并將其部署 Arm Virtual帶有Ar
    發表于 09-02 14:48

    Arm虛擬硬件部署PP-PicoDet模型

    1、Arm虛擬硬件部署PP-PicoDet模型  經典的深度學習工程是從確認任務
    發表于 09-16 14:42

    Arm虛擬硬件部署PP-PicoDet模型的設計方案

    1、Arm虛擬硬件部署PP-PicoDet模型  經典的深度學習工程是從確認任務
    發表于 09-23 15:02

    如何使用TensorFlow神經網絡模型部署到移動或嵌入式設備上

    有很多方法可以經過訓練的神經網絡模型部署到移動或嵌入式設備上。不同的框架在各種平臺上支持Arm,包括TensorFlow、PyTorch、Caffe2、MxNet和CNTK,如And
    發表于 08-02 06:43

    如何將TDM業務添加到WiMAX平臺上

    如何將TDM業務添加到WiMAX平臺上 對于今天的運營商來說,“接入”是一個熱門詞匯。盡管傳統接入鏈路依然是主要的收入來源,但它同時也成為限制
    發表于 10-20 21:29 ?732次閱讀

    如何將PP-OCRv3英文識別模型部署Corstone-300虛擬硬件平臺上

    經典的深度學習工程是從確認任務目標開始的,我們首先來簡單地介紹一下 OCR 中的文本識別任務以及本期部署實戰課程中我們所使用的工具和平臺
    的頭像 發表于 08-12 15:03 ?2520次閱讀

    如何將pytorch的模型部署到c++平臺上模型流程

    最近因為工作需要,要把pytorch的模型部署到c++平臺上,基本過程主要參照官網的教學示例,期間發現了不少坑,特此記錄。
    的頭像 發表于 10-26 14:36 ?3180次閱讀
    主站蜘蛛池模板: 一级做a爱片在线播放| 国产亚洲午夜精品a一区二区| 高清成年美女黄网站色大| 欧美黑粗| 377p亚洲欧洲日本大胆色噜噜| 欧美精品一区视频| 四虎影院一级片| 神马电影天堂网| 亚洲无线视频| 婷婷丁香色| 亚洲美女啪啪| 亚洲va中文字幕| 日韩大尺度视频| 六月丁香婷婷综合| 成年人一级毛片| 天天色天天爽| 午夜三级福利| 国产三级精品三级| 久久亚洲成人| 欧美性色欧美a在线播放| 天堂视频在线| 一卡二卡三卡四卡无卡在线 | 国产免费成人在线视频| 97人人在线| www.xxxx欧美| 天天视频在线观看免费| 午夜免费剧场| 国产资源网| 亚洲高清不卡视频| 日不卡| 亚洲一卡2卡4卡5卡6卡在线99| 欧美性黑人极品1819hd| 亚洲女人小便| 手机在线完整视频免费观看| 日本卡一卡2卡3卡4精品卡无人区 日本口工福利漫画无遮挡 | 色综合国产| 四虎影院网址大全| 久久奈| 日本高清视频网站www| 5g成人影院| 日本高清免费aaaaa大片视频|