嵌入式Linux平臺(tái)部署AI神經(jīng)網(wǎng)絡(luò)模型Inference的方案

ONNX

  • 簡(jiǎn)述
    ONNX是一種AI神經(jīng)網(wǎng)絡(luò)模型的通用中間文件保存方法(可以理解成AI世界的XML)齐鲤,各種AI框架昆码,Inference引擎湿镀,甚至OpenCV里面的dnn onnx相關(guān)的模塊都可以解析ONNX文件并生成特定平臺(tái)和運(yùn)行框架所支持的神經(jīng)網(wǎng)絡(luò)模型椎侠。ONNX本身不是AI神經(jīng)網(wǎng)絡(luò)運(yùn)行框架憔四,只是AI神經(jīng)網(wǎng)絡(luò)模型通用中間描述文件格式

  • GitHub鏈接
    https://github.com/onnx/onnx

  • 編程語(yǔ)言
    C++ / Python

  • 熱度
    5星

TensorRT

  • 簡(jiǎn)述
    TensorRT是NVIDIA家的開(kāi)源AI神經(jīng)網(wǎng)絡(luò)Inference引擎愈涩,支持解析和轉(zhuǎn)換ONNX格式的神經(jīng)網(wǎng)絡(luò)模型部署到支持CUDA的GPU上運(yùn)行。目前TensorRT僅支持在NVIDIA家的產(chǎn)品部署AI神經(jīng)網(wǎng)絡(luò)模型加矛,支持的平臺(tái)有NVIDIA各種支持CUDA 9.0以上的顯卡履婉,嵌入式SOC平臺(tái)(Jetson TX1/TX2/Nano/Xavier 等)

  • GitHub鏈接
    https://github.com/NVIDIA/TensorRT

  • 編程語(yǔ)言
    C++

  • 熱度
    3星

MNN

  • 簡(jiǎn)述
    MNN是阿里家開(kāi)源的一款嵌入式Linux/Android平臺(tái)的嵌入式AI神經(jīng)網(wǎng)絡(luò)Inference引擎。它在系統(tǒng)底層對(duì)ARM CPU代碼進(jìn)行系統(tǒng)級(jí)優(yōu)化斟览,可以調(diào)配ARM CPU + GPU的算力資源進(jìn)行AI神經(jīng)網(wǎng)絡(luò)Inference運(yùn)算毁腿。由于后發(fā)優(yōu)勢(shì),加上賈揚(yáng)清大神入職阿里的加成,目前業(yè)界評(píng)價(jià)MNN對(duì)很多AI神經(jīng)網(wǎng)絡(luò)在性能上的優(yōu)化目前要優(yōu)于ncnn, 這是后發(fā)優(yōu)勢(shì)已烤,也許ncnn會(huì)進(jìn)一步升級(jí)趕上鸠窗。目前由于MNN開(kāi)源時(shí)間還不長(zhǎng),star數(shù)目小于ncnn

  • GitHub鏈接
    https://github.com/alibaba/MNN

  • 編程語(yǔ)言
    C++ / 少量 C語(yǔ)言

  • 熱度
    4星

ncnn

  • 簡(jiǎn)述
    ncnn是騰訊家開(kāi)源的一款嵌入式跨平臺(tái)平臺(tái)的嵌入式AI神經(jīng)網(wǎng)絡(luò)Inference引擎胯究。它在系統(tǒng)底層對(duì)ARM CPU代碼進(jìn)行系統(tǒng)級(jí)優(yōu)化稍计,可以調(diào)配ARM CPU + GPU的算力資源進(jìn)行AI神經(jīng)網(wǎng)絡(luò)Inference運(yùn)算。ncnn比MNN開(kāi)源更早裕循,不過(guò)它看起來(lái)更專注于Android平臺(tái)臣嚣,對(duì)Android系統(tǒng)平臺(tái)優(yōu)化得更好

  • GitHub鏈接
    https://github.com/Tencent/ncnn

  • 編程語(yǔ)言
    三分之二 C++ / 三分之一 C語(yǔ)言

  • 熱度
    5星

TVM

  • 簡(jiǎn)述
    TVM是青年學(xué)者陳天奇主導(dǎo)的跨平臺(tái)基于編譯方法部署的AI神經(jīng)網(wǎng)絡(luò)部署的方法。TVM項(xiàng)目的想法是做AI神經(jīng)網(wǎng)絡(luò)界的LLVM神經(jīng)網(wǎng)絡(luò)編譯器剥哑,通過(guò)跨平臺(tái)交叉編譯的方法硅则,將AI神經(jīng)網(wǎng)絡(luò)編譯成目標(biāo)平臺(tái)的運(yùn)行庫(kù),然后在tvm runtime運(yùn)行株婴。tvm runtime本身不依賴其它第三方庫(kù)怎虫。

  • GitHub鏈接
    https://github.com/dmlc/tvm

  • 編程語(yǔ)言
    C++ / Python

  • 熱度
    4星半

TensorFlow Lite

  • 簡(jiǎn)述
    TensorFlow Lite是一款用于部署在移動(dòng)設(shè)備上基于TensorFlow框架訓(xùn)練的的AI神經(jīng)網(wǎng)絡(luò)模型的一個(gè)工具。由于Android TensorFlow TensorFlow Lite都是Google家的產(chǎn)品困介,所以TensorFlow對(duì)Google家的Android設(shè)備有天然兼容性和生態(tài)大审,目前在Android平臺(tái)使用比較多

  • 鏈接
    https://www.tensorflow.org/lite
    https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite

  • 編程語(yǔ)言
    C++ / Python

  • 熱度
    6星

ArmNN

  • 簡(jiǎn)述
    ArmNN是Arm公司開(kāi)源的基于arm嵌入式設(shè)備的inference框架,在Arm Cortex-A CPUs座哩、Arm Mali GPUs饥努、Arm Machine Learning processor都可以達(dá)到很高的加速效果。不過(guò)可惜的是八回,由于缺乏文檔及教程酷愧,該框架在國(guó)內(nèi)推廣的程度不高,目前Github的更新迭代速度也不快缠诅。相對(duì)于其他AI神經(jīng)網(wǎng)絡(luò)Inference框架如NCNN溶浴、Tengine、MNN等等管引,ArmNN的知名度顯得很小士败。不過(guò)有用戶反饋ArmNN對(duì)ARM芯片上的算力進(jìn)行統(tǒng)一管理和加速的效果很好,是一個(gè)被低估的框架

  • GitHub鏈接
    https://github.com/ARM-software/armnn

  • 編程語(yǔ)言
    C++

  • 熱度
    2星

Tengine

  • 簡(jiǎn)述
    Tengine 是OPEN AI LAB公司開(kāi)發(fā)的針對(duì)ARM公司中高端應(yīng)用級(jí)CPU Cortex-A系列(參考CPU Cortex-A72) 開(kāi)發(fā)的AI神經(jīng)網(wǎng)絡(luò)Inference引擎褥伴。同時(shí)支持Linux和Android系統(tǒng)谅将,目前項(xiàng)目更新迭代速度并不快

  • GitHub鏈接
    https://github.com/OAID/Tengine

  • 編程語(yǔ)言
    C++ / 少量 C語(yǔ)言

  • 熱度
    2星半

Tengine-lite

  • 簡(jiǎn)述
    Tengine 是OPEN AI LAB公司開(kāi)發(fā)的針對(duì)ARM公司中低端實(shí)時(shí)控制級(jí) Cortex-M 開(kāi)發(fā)的AI神經(jīng)網(wǎng)絡(luò)Inference引擎,純C語(yǔ)言打造重慢,支持RTOS系統(tǒng)饥臂,是目前少有的支持嵌入式裸機(jī)和RTOS系統(tǒng)的AI神經(jīng)網(wǎng)絡(luò)Inference引擎

  • GitHub鏈接
    https://github.com/OAID/Tengine-lite

  • 編程語(yǔ)言
    C語(yǔ)言

  • 熱度
    1星

Mace

  • 簡(jiǎn)述
    Mace是小米公司開(kāi)發(fā)的一款支持ARM Cortex-A 系列手機(jī)級(jí)CPU的神經(jīng)網(wǎng)絡(luò)AI Inference引擎。能夠同時(shí)管理調(diào)度CPU 和 GPU的算力似踱,支持Windows, Linux, Android等多個(gè)系統(tǒng)隅熙,對(duì)高通手機(jī)開(kāi)發(fā)平臺(tái)的支持和優(yōu)化做得比較出色稽煤。

  • 編程語(yǔ)言
    C++ / 少量 Python和C語(yǔ)言

  • GitHub鏈接
    https://github.com/XiaoMi/mace

  • 熱度
    3星半

Paddle-Mobile

  • 簡(jiǎn)述
    Paddle-Mobile是百度家的一款嵌入式AI神經(jīng)網(wǎng)絡(luò)Infrence框架, 中文名叫飛槳囚戚,高性能支持ARM CPU酵熙,支持Mali GPU, 支持Andreno GPU驰坊, 支持蘋(píng)果設(shè)備的GPU Metal實(shí)現(xiàn)匾二,支持ZU5、ZU9等FPGA開(kāi)發(fā)板拳芙,支持樹(shù)莓派等arm-linux開(kāi)發(fā)板察藐。目前在中文開(kāi)源資料比較豐富

  • GitHub鏈接
    https://github.com/PaddlePaddle/paddle-mobile

  • 編程語(yǔ)言
    C++ / 少量 C語(yǔ)言

  • 熱度
    4星

OpenCV dnn

  • 簡(jiǎn)述
    dnn 是opencv里面用于deep learning AI神經(jīng)網(wǎng)絡(luò)inference的一個(gè)模塊(據(jù)說(shuō)有training的功能,但是一般不用)态鳖。dnn模塊從opencv 3.1開(kāi)始就在opencv_contrib庫(kù)里面,在3.3版中恶导,它被提到了主倉(cāng)庫(kù)中浆竭。新版OpenCV dnn模塊目前支持Caffe、TensorFlow惨寿、Torch邦泄、PyTorch等深度學(xué)習(xí)框架。從3.4開(kāi)始裂垦,dnn模塊開(kāi)始支持onnx格式的AI神經(jīng)網(wǎng)絡(luò)模型部署顺囊。
    opencv dnn模塊相比于其它AI神經(jīng)網(wǎng)絡(luò) Inference引擎優(yōu)點(diǎn)在于它依托于Opencv這個(gè)傳統(tǒng)的計(jì)算機(jī)視覺(jué)庫(kù),有大量的傳統(tǒng)視覺(jué)蕉拢,圖像預(yù)處理和后處理相關(guān)的api函數(shù)可以用特碳,并且格式兼容。另外dnn只依賴于opencv, 不依賴其它的庫(kù)晕换,所以可以和opencv一起部署的嵌入式Linux(不是Ubuntu, Debian, Android這種發(fā)行版系統(tǒng))最小系統(tǒng)上午乓,可以運(yùn)用到各種更細(xì)分的領(lǐng)域。
    當(dāng)然opencv dnn趕上時(shí)代潮流闸准,進(jìn)入opencv主倉(cāng)庫(kù)的時(shí)間比較晚益愈,支持的AI神經(jīng)網(wǎng)絡(luò)模型并不算多,速度和計(jì)算精度性能優(yōu)化不是特別好夷家,版本迭代速度也不快蒸其,相比于其它家互聯(lián)網(wǎng)公司主推的AI Inference引擎,其對(duì)gpu, cpu統(tǒng)一計(jì)算資源管理優(yōu)化程度可能也不算特別好库快。不過(guò)從Opencv 4.x以后的版本看摸袁,dnn模塊越來(lái)越受官方重視,建議大家嘗試4.x以后的版本义屏。

  • GitHub鏈接
    https://github.com/opencv/opencv/tree/master/modules/dnn

  • 編程語(yǔ)言
    C++ / 少量 C語(yǔ)言

  • 熱度
    3星半

Dlib

  • 簡(jiǎn)述
    Dlib是一個(gè)現(xiàn)代C++語(yǔ)言編寫(xiě)的工具包但惶,包含機(jī)器學(xué)習(xí)算法和工具耳鸯,用于用C++創(chuàng)建復(fù)雜的軟件來(lái)解決現(xiàn)實(shí)世界中的問(wèn)題。它被廣泛應(yīng)用于工業(yè)和學(xué)術(shù)界膀曾,包括機(jī)器人县爬、嵌入式設(shè)備、移動(dòng)電話和大型高性能計(jì)算環(huán)境添谊。
    Dlib 在傳統(tǒng)機(jī)器學(xué)習(xí)領(lǐng)域的算法庫(kù)非常豐富财喳,但是深度學(xué)習(xí)領(lǐng)域進(jìn)入比較晚,支持的模型不算最新斩狱。不過(guò)Dlib在人臉識(shí)別領(lǐng)域耳高,關(guān)鍵點(diǎn)識(shí)別做得還是不錯(cuò),并且可以和OpenCV的Mat格式進(jìn)行轉(zhuǎn)換兼容所踊,這樣配合Opencv做人臉識(shí)別應(yīng)該是不錯(cuò)的選擇泌枪。不過(guò)Dlib的中文資料略少。

  • GitHub鏈接
    https://github.com/davisking/dlib

  • 編程語(yǔ)言
    C++

  • 熱度
    3星半

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秕岛,一起剝皮案震驚了整個(gè)濱河市碌燕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌继薛,老刑警劉巖修壕,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異遏考,居然都是意外死亡慈鸠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)灌具,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)青团,“玉大人,你說(shuō)我怎么就攤上這事咖楣『埃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵截歉,是天一觀的道長(zhǎng)胖腾。 經(jīng)常有香客問(wèn)我,道長(zhǎng)瘪松,這世上最難降的妖魔是什么咸作? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮宵睦,結(jié)果婚禮上记罚,老公的妹妹穿的比我還像新娘。我一直安慰自己壳嚎,他們只是感情好桐智,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布末早。 她就那樣靜靜地躺著,像睡著了一般说庭。 火紅的嫁衣襯著肌膚如雪然磷。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天刊驴,我揣著相機(jī)與錄音姿搜,去河邊找鬼。 笑死捆憎,一個(gè)胖子當(dāng)著我的面吹牛舅柜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播躲惰,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼致份,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了础拨?” 一聲冷哼從身側(cè)響起氮块,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎太伊,沒(méi)想到半個(gè)月后雇锡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體逛钻,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僚焦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了曙痘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芳悲。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖边坤,靈堂內(nèi)的尸體忽然破棺而出名扛,到底是詐尸還是另有隱情,我是刑警寧澤茧痒,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布肮韧,位于F島的核電站,受9級(jí)特大地震影響旺订,放射性物質(zhì)發(fā)生泄漏弄企。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一区拳、第九天 我趴在偏房一處隱蔽的房頂上張望拘领。 院中可真熱鬧,春花似錦樱调、人聲如沸约素。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)圣猎。三九已至士葫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間样漆,已是汗流浹背为障。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留放祟,地道東北人鳍怨。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像跪妥,于是被迫代替她去往敵國(guó)和親鞋喇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容