色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

實戰MNN之Mobilenet SSD部署

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 18:14 ? 次閱讀
MNN 是一個輕量級的深度學習端側推理引擎,核心解決深度神經網絡模型在端側推理運行問題,涵蓋深度神經網絡模型的優化、轉換和推理。目前,MNN已經在手淘、手貓、優酷、聚劃算、UC、飛豬、千牛等 20 多個 App 中使用,覆蓋直播、短視頻、搜索推薦商品圖像搜索、互動營銷、權益發放、安全風控等場景,每天穩定運行上億次。此外,菜鳥自提柜等 IoT 設備中也有應用。在 2018 年雙十一購物節中,MNN 在天貓晚會笑臉紅包、掃一掃、明星猜拳大戰等場景中使用。
作者:張新棟

關于更多MNN的介紹和文檔,大家可以看這篇文章或者去MNN的Github主頁。本文主要是想跟大家介紹和討論,如何在嵌入式設備中,利用MNN來進行CNN任務的部署。本文主要想跟大家討論的CNN任務是Mobilenet SSD,是一個輕量級的anchor-based物體檢測器。

嵌入式場景的CNN部署不同于Desktop和server的CNN部署,在嵌入式場景中,沒有強勁的CPUGPU,硬件資源受限,所以部署的流程和步驟較之于Desktop和server有較大的不同。在我的理解中,我會將嵌入式場景的CNN部署流程分為如下幾部:1. 模型設計 2. 離線訓練 3.網絡裁剪 4. 在線部署。下面我們將會結合這個四個步驟,討論如何利用MNN進行Mobilenet SSD的部署。

在進行討論前,我們說明一下,采用的離線訓練框架為tensorflow,MobilenetSSD采用的是Google的物體檢測全家桶

模型設計

在進行模型設計的時候,唯一需要注意的要點是避免在核心網絡層中采用硬件或端上推理框架不支持的Op。比如,tflite android中的NNAPI 1.0中不支持padding、squeeze、reshape等Op。如下圖


NNAPI 1.0 不支持的Op

在使用MNN進行在線部署的時候,同樣也需要考慮這個問題。在進行模型的設計的時候,需要認真檢查核對,核心的CNN網絡里有沒有采用MNN框架不支持的Op。如果采用了,需要進行替換或者重新設計。

離線訓練

離線訓練的好壞直接影響該CNN模型實際的推斷效果,不過本文的重點不在如何進行訓練。后續我們會再詳細寫一篇文章介紹如何訓練,這里我們假定已經完成了該任務。為此,我們提供了訓練好的兩個模型,一個是300x300-0.5的人體檢測器,另一個是224x224-0.5的人臉檢測器。我們將在文章末尾附上github的鏈接。

網絡裁剪

如果有些Op或者layer在進行離線訓練時不可缺少,但是端上推理框架不支持該怎么辦呢?比如Mobilenet SSD中的后處理模塊,tensorflow Object detection api的PostProcessing Ops和Caffe SSD中的ObjectDetectionLayer。網絡裁剪就是在這個時候派上用場的,以tensorflow的Object detection api為例,我們可以僅導出PostProcessing之前的Node,即concat和concat_1,然后后處理可以從device取出結果后,在cpu端進行postprocessing。可參考如下導出腳本,

bazel run --config=opt tensorflow/lite/toco:toco -- /
--input_file=$OUTPUT_DIR/tflite_graph.pb            /
--output_file=$OUTPUT_DIR/detect.tflite             /
--input_shapes=1,224,224,3                          /
--input_arrays=normalized_input_image_tensor        /
--output_arrays='concat','concat_1'                 /
--inference_type=FLOAT                              /
--change_concat_input_ranges=false               

在線部署

我們前面進行了模型設計(保證核心CNN結構不引入MNN不支持的Op)、離線訓練(保證得到一個效果好的CNN網絡)、網絡裁剪(移除不支持的Op),目前得到的模型(pb或tflite),基本可以確保在MNN中能正常運行。在用MNN進行在線部署的時候,我們還需要完成如下幾個步驟:基于目標平臺的MNN編譯、tflite或tensorflow的MNN模型轉化、編寫基于MNN的MSSD業務代碼。我們將這幾個步驟都做了詳細的文檔,連同數據和代碼都上傳到了我的github賬戶中。大家可參考如下鏈接,工程內提供了基于MNN的tflite-mssd和tensorflow-mssd的部署流程和業務代碼,覺得有幫助的,希望大家能點個小星星。

討論

歡迎大家留言進行討論,我會第一時間進行回復。如果您對嵌入式的AI部署也感興趣,可關注專欄或本人賬號,相互交流學習。謝謝大家!

參考

本人Github:MNN-MSSD

審核編輯 黃昊宇

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

    關注

    41

    文章

    3604

    瀏覽量

    129562
  • SSD
    SSD
    +關注

    關注

    21

    文章

    2868

    瀏覽量

    117521
  • 深度學習
    +關注

    關注

    73

    文章

    5507

    瀏覽量

    121274
收藏 人收藏

    評論

    相關推薦

    【瑞芯微RK1808計算棒試用體驗】+ mobileNet SSD 練個人頭檢測模型

    `RK1808官方提供了mobileNet SSD的多分類的demo,所以基于這個算法可以較容易開發自己的檢測算法,所以用網上公開的人頭檢測數據集訓練一個人頭檢測模型。caffe
    發表于 10-25 17:28

    輕量化神經網絡的相關資料下載

    視覺任務中,并取得了巨大成功。然而,由于存儲空間和功耗的限制,神經網絡模型在嵌入式設備上的存儲與計算仍然是一個巨大的挑戰。前面幾篇介紹了如何在嵌入式AI芯片上部署神經網絡:【嵌入式AI開發】篇五|實戰篇一:STM32cubeIDE上部署
    發表于 12-14 07:35

    CoolPi CM5運行ChatGLM-MNN大語言模型

    ChatGLM-MNN project git clone https://github.com/wangzhaode/ChatGLM-MNN.git Compile MNN library
    發表于 04-29 09:39

    Coolpi CM5運行ChatGLM-MNN大語言模型

    Download ChatGLM-MNN project git clone https://github.com/wangzhaode/ChatGLM-MNN.git Compile MNN
    發表于 05-03 11:30

    人工智能大模型、應用場景、應用部署教程超詳細資料

    、Prisma 模型、Ssd-mobilenet 模型、Ssd-inception 模型、Tnet 模型、XLSR 模型和 Z-DCE 模型。每個模型都配有介紹和實操的視頻教程并搭配相應文檔,降低客戶在
    發表于 11-13 14:49

    ARM全國產云平臺部署容器實戰經驗分享

    ARM全國產云平臺部署容器實戰經驗分享
    發表于 07-18 16:11 ?71次下載
    ARM全國產云平臺<b class='flag-5'>部署</b>容器<b class='flag-5'>實戰</b>經驗分享

    阿里MNN支持華為NPU,優化MNN的性能和精度問題

    今天上午據軟件綠色聯盟消息,阿里MNN已經接入華為 HiAI生態,正式支持華為NPU。
    的頭像 發表于 12-23 14:04 ?3626次閱讀

    實戰MNN量化部署

    今天MNN更新了新的工具包---CNN網絡量化工具(quantization),作者也第一時間進行了測試。提升的效果還是很可觀的,量化前的CNN網絡大小...
    發表于 02-07 11:45 ?0次下載
    <b class='flag-5'>實戰</b><b class='flag-5'>MNN</b><b class='flag-5'>之</b>量化<b class='flag-5'>部署</b>

    詳解MNN的tflite-MobilenetSSD-c++部署流程

    關于MNN以及Mobilenet SSD的介紹,大家可以參考我早些時候寫過的一篇文章實戰MNN
    發表于 02-07 11:55 ?0次下載
    詳解<b class='flag-5'>MNN</b>的tflite-MobilenetSSD-c++<b class='flag-5'>部署</b>流程

    如何DIY輕型的Mobilenet回歸器

    之前我們有跟大家討論過如何DIY一個輕型的Mobilenet SSD的物體檢測器,本專欄的其他文章亦有介紹如何部署該類輕型MSSD的物體檢測器于嵌...
    發表于 02-07 11:59 ?1次下載
    如何DIY輕型的<b class='flag-5'>Mobilenet</b>回歸器

    使用TVM在android中進行Mobilenet SSD部署

    所謂TVM,按照正式說法:就是一種將深度學習工作負載部署到硬件的端到端IR(中間表示)堆棧。換一種說法,可以表述為一種把深度學習模型...
    發表于 02-07 12:07 ?0次下載
    使用TVM在android中進行<b class='flag-5'>Mobilenet</b> <b class='flag-5'>SSD</b><b class='flag-5'>部署</b>

    詳解MNN的tf-MobilenetSSD-cpp部署流程

    關于MNN以及Mobilenet SSD的介紹,大家可以參考我早些時候寫過的一篇文章實戰MNN
    發表于 02-07 12:18 ?0次下載
    詳解<b class='flag-5'>MNN</b>的tf-MobilenetSSD-cpp<b class='flag-5'>部署</b>流程

    PFLD-lite:基于MNN和mxnet的嵌入式部署

    之前的文章跟大家介紹過如何使用mxnet和MNN做產品化部署,選取的案例為MNIST手寫數字識別的項目,該項目是一個比較簡單的分類問題。今天...
    發表于 02-07 12:19 ?0次下載
    PFLD-lite:基于<b class='flag-5'>MNN</b>和mxnet的嵌入式<b class='flag-5'>部署</b>

    談談MNN的模型量化(一)數學模型

    最近調研了一些關于CNN網絡量化的論文,結合之前基于MNN的使用感受,打算跟大家談一談MNN中的模型量化以及其相關的數學模型。本文可能關...
    發表于 02-07 12:22 ?2次下載
    談談<b class='flag-5'>MNN</b>的模型量化(一)數學模型

    實戰MNNMobilenet SSD部署(含源碼)

    MNN 是一個輕量級的深度學習端側推理引擎,核心解決深度神經網絡模型在端側推理運行問題,涵蓋深度神經網絡模型的優化、轉換和推理。目...
    發表于 02-07 12:32 ?0次下載
    <b class='flag-5'>實戰</b><b class='flag-5'>MNN</b><b class='flag-5'>之</b><b class='flag-5'>Mobilenet</b> <b class='flag-5'>SSD</b><b class='flag-5'>部署</b>(含源碼)
    主站蜘蛛池模板: 国产一区二区高清| 少妇伦子伦情品无吗| 一二三四在线观看高清电视剧| 精品国产成人AV在线看| 再深点灬舒服灬太大了在线视频| 免费国产足恋网站| 变态露出野外调教| 亚洲国产精品一区二区动图| 久久理论片| 草莓在线观看| 亚洲欧洲久久| 欧美5g影院天天爽天天看| 国产成人AV永久免费观看| 亚洲一区二区三区免费看| 欧美123区| 国产精品综合AV一区二区国产馆| 亚洲青青青网伊人精品| 暖暖 免费 高清 日本在线| 国产精品99亚发布| 中文字幕在线观看亚洲| 少妇内射兰兰久久| 久久青草费线频观看国产| 俄罗斯兽交XXXXX在线| 亚洲视频网站欧美视频网站| 啪啪做羞羞事小黄文| 精品伊人久久| 工口肉肉彩色不遮挡| 1788福利视频在视频线| 丰满的美女射精动态图| 亚洲免费久久| 日本国产精品无码一区免费看| 果冻传媒剧情在线观看| 草民电影网午夜伦理电影网| 伊人亚洲综合青草青草久热| 日韩熟女精品一区二区三区| 久青草国产观看在线视频| 国产精品永久免费视频| 538在线播放| 亚洲在线无码免费观看| 乳女教师欲乱动漫无修版动画| 快播成电影人网址|