日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

MNN通用端侧深度学习预测框架介绍

發(fā)布時間:2025/4/5 pytorch 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MNN通用端侧深度学习预测框架介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近端側(cè)的AI模型應用越來越廣泛,在端側(cè)的模型應用會面對很多的問題,比如模型適配性和機型適配性,還有計算性能方面的問題。是否有某種框架可以解決這些端側(cè)AI模型遇到的問題,Google、蘋果等公司都有相關(guān)的工作。今天介紹下MNN框架,由阿里巴巴開源的一款專注于端側(cè)深度學習模型預測框架。

項目開源地址:https://github.com/alibaba/MNN

MNN核心解決的問題

首先看下MNN的核心功能架構(gòu)圖:

?

MNN主要解決了三方面的問題:

  • Model compatibility:模型多樣性的兼容問題,比如來自TensorFlow、PyTorch、Caffe的模型全部兼容,甚至ONNX格式的模型也兼容

  • Resource limitation:在端側(cè)為了更好地解決性能問題,MNN做了很多框架層面的優(yōu)化問題

  • Device diversity:手機端不同品牌的手機系統(tǒng)兼容性一直是嵌入式開發(fā)的痛點,作者當年創(chuàng)業(yè)做手機應用的時候就被這個問題折磨很久。MNN框架不光適配了Android、IOS等系統(tǒng),更對不同硬件環(huán)境的手機進行了適配,比如對手機側(cè)的CPU、GPU分別作了一定適配。

  • MNN技術(shù)架構(gòu)

    接下來看下MNN技術(shù)架構(gòu)圖:

    MNN的整體技術(shù)架構(gòu)分為兩個大模塊:

    • Offline conversion:離線的模型轉(zhuǎn)換模塊,在這個模塊需要把不同格式的模型進行格式轉(zhuǎn)換,生成MNN可以接受的格式。另外還需要做計算圖優(yōu)化和模型壓縮,是得模型的體檢減小

    • On-device Inference:在線模型預測模塊,在在線預測模塊提供3個優(yōu)化策略,分別是pre-inference、operator-level optimization和backend abstraction

    MNN在線預測模塊技術(shù)詳解

    ?

    接下來就MNN的On-device Inference的三個技術(shù)模塊pre-inference、operator-level optimization和backend abstraction分別作介紹。

    (1)pre-inference

    pre-inference可以分為兩個部分,分別是computation scheme selection和preparation-execution decoupling。pre-inference本質(zhì)上就是在基本可以確定要預測的數(shù)據(jù)量級的情況下做提前的準備。

    computation scheme selection指的是將計算量適配到合理的計算資源以及算法層面,他舉一個例子,卷積網(wǎng)絡(luò)可以有兩種算法實現(xiàn),針對不同場景選擇更合適的算法是一種提效手段。另外

    preparation-execution decoupling指的是提前規(guī)劃好需要使用的內(nèi)存資源,這樣就可以節(jié)約現(xiàn)申請內(nèi)存帶來的時間消耗。

    (2)operator-level optimization

    operator-level optimization指的就是預測階段使用的神經(jīng)網(wǎng)絡(luò)的一些op在MNN框架層面的優(yōu)化,更多的是一些數(shù)學層面的推理,就不詳細介紹了。

    (3)backend abstraction

    backend abstraction指的是一些針對GPU、TPU、CPU硬件和OpenGL、OpenCL、Vulkan軟件層面的優(yōu)化。backend abstraction的宗旨就是把最合適的計算放到最合適的硬件或者軟件環(huán)境中進行,比如卷積放到CPU上執(zhí)行,然后ReLU可以放到GPU上去執(zhí)行。

    總結(jié)一下

    ?

    MNN是一個很好地端側(cè)模型應用框架,基本把端側(cè)的模型應用的臟活累活都解決了,在AIEdge的時代,MNN占據(jù)了一個絕佳的流量入口,后續(xù)MNN應該有更多的應用,可能很快我們熟知的各種APP中就會陸續(xù)出現(xiàn)MNN的身影。

    ?

    《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的MNN通用端侧深度学习预测框架介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。