<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>

          聊聊深度學(xué)習(xí)框架

          共 8453字,需瀏覽 17分鐘

           ·

          2021-04-20 00:28

          開(kāi)始學(xué)習(xí)深度學(xué)習(xí)的話,框架的選擇是個(gè)很重要的事情(畢竟調(diào)包的居多)。這么多框架我們?cè)趺催x擇,跟著谷歌的TensorFlow?不對(duì),學(xué)長(zhǎng)說(shuō)學(xué)術(shù)界PyTorch才是老大,在手機(jī)上怎么跑啊。板子帶不動(dòng)阿。


          呃呃呃呃,好的,身為一個(gè)半吊子的算法工程師,阿chai今天給大家嘮嘮這些框架都是什么,聽(tīng)了起碼不會(huì)那么迷茫(其實(shí)可以都試試)。阿chai首先強(qiáng)調(diào)一點(diǎn),只是自己的使用感悟,并不全對(duì)也不存在歧視某個(gè)框架,由于面向初學(xué)者,白話也比較多


          今天文章中涉及的電子書(shū)資料在文末的百度網(wǎng)盤(pán)鏈接中,可以結(jié)合阿chai給出鏈接中的視頻或文檔去學(xué)習(xí)

          算法汪的工具

          算法工程師有很多便利的數(shù)據(jù)分析工具,主要是分為以下三類。

          自己造輪子(大腦最好的工具)

          最早的算法工程師是自己造輪子,這里不僅是幾個(gè)算子重構(gòu)的API,“上古時(shí)期”的很多算法工程師是直接在硬件上搞(軟硬通吃),是真的“全棧”。可以參考任天堂最早的游戲機(jī),40k,包括媒體素材的壓縮,真的強(qiáng)。

          集成環(huán)境的開(kāi)發(fā)工具

          后來(lái)算法工程師非常迷戀集成開(kāi)發(fā)環(huán)境的工具,因?yàn)楹芏嗨惴ㄈ藛T是數(shù)學(xué)出身沒(méi)他們對(duì)于復(fù)雜的計(jì)算機(jī)、電子知識(shí)并不擅長(zhǎng),所以需要一個(gè)包羅萬(wàn)象的東西。從事工科的小伙伴應(yīng)該了解一些例如Matlab,真的是銀河系都能模擬,啥都能干,隨便幾個(gè)指令就能整出來(lái)一個(gè)仿真。但是這種工具都有一個(gè)致命的問(wèn)題,體積太大(MatLab現(xiàn)在十幾個(gè)G),不容易部署。

          Matlab

          靈活的工具包

          靈活的工具包就是我們開(kāi)發(fā)的時(shí)候使用的各種庫(kù)、模版之類的,比如我們經(jīng)常聽(tīng)到的OpenCV、Eigen、CUDA等等,我們今天也是重點(diǎn)介紹深度學(xué)習(xí)中的各種包包。

          深度學(xué)習(xí)煉丹框架集合

          在找框架之前,建議先看看一些深度學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)并且買(mǎi)一本花書(shū)(電子版在網(wǎng)盤(pán)),花書(shū)可以慢慢看,著急也看不懂。再次強(qiáng)調(diào),深度學(xué)習(xí)是AI的一個(gè)小分支,別上頭,數(shù)學(xué)和解決實(shí)際問(wèn)題才是最重要的。


          Theano

          Theano是07年左右開(kāi)發(fā)的一個(gè)多維數(shù)組的計(jì)算庫(kù),支持GPU計(jì)算,當(dāng)時(shí)很多人當(dāng)成“支持GPU的Numpy”,底層優(yōu)化的非常好,支持導(dǎo)出C的腳本。

          • 出生地:蒙特利爾大學(xué)
          • 特點(diǎn):計(jì)算圖、Python+Numpy、源于學(xué)術(shù)界
          • 主要調(diào)包語(yǔ)言:Python
          • 評(píng)價(jià):很臃腫、不支持分布式、被后面的TensorFlow打擊的很大
          • 入門(mén)推薦:絕對(duì)不建議,真的要用的話,先學(xué)習(xí)別的框架再看Github就行了
          • 推薦資料:https://github.com/Theano/Theano

          Caffe/Caffe2(部署也很強(qiáng))

          Caffe是頂級(jí)高校UCB的賈揚(yáng)清博士開(kāi)發(fā)的,主要是適用于深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)的應(yīng)用。使用Caffe做算法代碼量很少,經(jīng)常就是修修改改就能用,神經(jīng)網(wǎng)絡(luò)模型的管理非常的方便,而且算是比較早的部署在各種落地場(chǎng)景中。Caffe2可以理解為一個(gè)新版本的Caffe,但是有很多不同,Caffe2后來(lái)并入了PyTorch。

          • 作者:UCB 賈揚(yáng)清博士
          • 特點(diǎn):計(jì)算圖、部署方便、訓(xùn)練方便、cuDnn與MKL均支持
          • 主要調(diào)包語(yǔ)言:Python、Matlab腳本、C++
          • 評(píng)價(jià):卷積人的大愛(ài)啊、環(huán)境不好配置、感覺(jué)偏底層、Caffe2還是PyTorch
          • 入門(mén)推薦:不是很建議,真的想了解可以先入門(mén)PyTorch
          • 推薦資料(官方真的很棒):http://caffe.berkeleyvision.org/

          Tensorflow1.x

          TensorFlow1.x是谷歌在16年正式發(fā)布的深度學(xué)習(xí)框架(感覺(jué)像Theano),中間包含了很多類似Numpy的算子、深度學(xué)習(xí)常用算子以及已經(jīng)很多現(xiàn)成的神經(jīng)網(wǎng)絡(luò)模型,支持在GPU上訓(xùn)練,不用自己整CUDA腳本。并且隨著發(fā)展已經(jīng)推出了一個(gè)整體的模型庫(kù)以及各個(gè)落地場(chǎng)景的便捷工具,例如CV、NLP、GAN等模型庫(kù)。

          • 出生地:Google
          • 特點(diǎn):計(jì)算圖、分布式訓(xùn)練效果強(qiáng)、底層C構(gòu)建速度快,生態(tài)強(qiáng)大
          • 主要調(diào)包語(yǔ)言:Python、C/C++、JS
          • 評(píng)價(jià):比Theano好用、API混亂、靜態(tài)計(jì)算圖很多人不習(xí)慣、部署超級(jí)方便
          • 入門(mén)推薦:硬件與底層開(kāi)發(fā)的可以試試,不建議小白搞
          • 推薦資料:https://www.bilibili.com/video/BV1m7411d7kT?p=4

          Keras

          Keras可以當(dāng)成一種高級(jí)API,他的后端可以是Theano和tensorFlow(可以想成把TF的很多打包了),最早是源于一個(gè)大佬想自己開(kāi)發(fā)一個(gè)框架自己用,后來(lái)開(kāi)源了。由于是高級(jí)API非常的方便,非常適合科研人員上手。

          • 作者:Google AI 研究人員 Francois Chollet
          • 特點(diǎn):生態(tài)強(qiáng)大、入門(mén)爽歪歪、代碼量少(重點(diǎn))
          • 主要調(diào)包語(yǔ)言:Python、C/C++、JS
          • 評(píng)價(jià):太適合入門(mén)了、速度有點(diǎn)慢、版本得匹配后端框架的版本
          • 入門(mén)推薦:強(qiáng)推入門(mén)首選,但是后續(xù)一定要看看算法的底層是怎樣工作的
          • 推薦資料(電子書(shū)在網(wǎng)盤(pán)中):https://www.bilibili.com/video/BV1fK4y147rp?from=search&seid=10831567169106627566

          MXNet

          MXNet 是一個(gè)社區(qū)維護(hù)起來(lái)的深度學(xué)習(xí)框架,后來(lái)被亞馬遜看上了。有類似于 Theano 和 TensorFlow 的計(jì)算圖,也有靈活的動(dòng)態(tài)圖,摒棄有高級(jí)接口方便調(diào)用。MXNet的底層為C構(gòu)建,優(yōu)化的很好,很多推理框架都能直接轉(zhuǎn)換,非常方便,但是由于是社區(qū)維護(hù)的hhh,誒,沐神真的太辛苦了。

          非常適合科研人員上手。

          • 出生地:算是社區(qū)吧
          • 特點(diǎn):計(jì)算圖動(dòng)態(tài)圖都支持、有高級(jí)API、速度快、部署方便
          • 主要調(diào)包語(yǔ)言:Python、C/C++、JS(js用的相對(duì)少)
          • 評(píng)價(jià):一定意義上是國(guó)人的框架、小團(tuán)體整的社區(qū)維護(hù)、文檔少生態(tài)不行
          • 入門(mén)推薦:一般般吧,我覺(jué)得作為第二個(gè)比較好。
          • 推薦資料(非常適合小白):https://zh-v2.d2l.ai/index.html

          PaddlePaddle

          PaddlePaddle是百度推出的深度學(xué)習(xí)框架,算是國(guó)人最火的深度學(xué)習(xí)框架了。跟新了2.0的高級(jí)API與動(dòng)態(tài)圖后,Paddle更加的強(qiáng)大。百度有很多PaddlePaddle的教程,對(duì)于初學(xué)者來(lái)說(shuō)還是相當(dāng)不錯(cuò)的,而且能白嫖V100,真香。PaddlePaddle有很多便捷的工具,比如detection、cv、nlp、GAN的工具包,也有專門(mén)的可視化工具(遠(yuǎn)離tensorboard的支配),國(guó)人的框架,必須頂一波。阿chai也在寫(xiě)PaddlePaddle的書(shū)籍,等章節(jié)整理完會(huì)給大家開(kāi)源。

          • 出生地:百度
          • 特點(diǎn):計(jì)算圖動(dòng)態(tài)圖都支持、有高級(jí)API、速度快、部署方便、有專門(mén)的平臺(tái)
          • 主要調(diào)包語(yǔ)言:Python、C/C++、JS
          • 入門(mén)推薦:如果沒(méi)有卡那就非常適合,如果算力不缺,建議先看看PyTorch,當(dāng)讓也可以PaddlePaddle。
          • 推薦資料(Paddle的官網(wǎng)教程太完美了):https://www.paddlepaddle.org.cn/tutorials/projectdetail/1323545

          CNTK

          CNTK是微軟的深度學(xué)習(xí)“系統(tǒng)”,由于發(fā)行的較晚,所以很多學(xué)生黨并不知曉。CNTK最早是微軟內(nèi)部使用的,使用難度相比TensorFlow那些還有不小的,而且文檔之前幾乎全英文,教程比較少,但是在語(yǔ)音的應(yīng)用上還是不錯(cuò)的。Keras可以作為CNTK的前端。

          • 出生地:微軟
          • 特點(diǎn):非常嚴(yán)謹(jǐn)、語(yǔ)音上有一些優(yōu)勢(shì)、難度有點(diǎn)高
          • 調(diào)包語(yǔ)言:C++、Python
          • 評(píng)價(jià):語(yǔ)音上不錯(cuò)呀、微軟推不下去了、感覺(jué)不如TensorFlow、有點(diǎn)復(fù)古
          • 入門(mén)推薦:不建議,看看就好。
          • 推薦資料(還是官方吧):https://github.com/Microsoft/CNTK/wiki/Tutorial

          PyTorch

          PyTorch是臉書(shū)的框架,前身是Torch,支持動(dòng)態(tài)圖,而且提供了Python接口。、是一個(gè)以Python優(yōu)先的深度學(xué)習(xí)框架,不僅能夠?qū)崿F(xiàn)強(qiáng)大的GPU加速,同時(shí)還支持動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。Python是現(xiàn)在學(xué)術(shù)界的霸主,雖然在部署方面有很多的坑,但是有很多方便的工具,例如MMDetection就是用Pytorch。這哥框架對(duì)于想要做學(xué)術(shù)的同學(xué)絕對(duì)首推(重點(diǎn))。

          • 出生地:FaceBook
          • 特點(diǎn):生態(tài)強(qiáng)大、入門(mén)爽歪歪、代碼量少(重點(diǎn))
          • 主要調(diào)包語(yǔ)言:Python、C/C++
          • 評(píng)價(jià):入門(mén)很快、速度有點(diǎn)慢、部署很垃圾、學(xué)術(shù)界的霸主
          • 入門(mén)推薦:想要做學(xué)術(shù)的童鞋絕對(duì)首選,幾乎現(xiàn)在頂會(huì)論文的代碼都是這個(gè)框架寫(xiě)的,不過(guò)想要做部署的還是看看TensorFLow或者PaddlePaddle吧。
          • 推薦資料(非常適合小白):https://zh-v2.d2l.ai/index.html

          ML.NET

          ML.NET可以理解為一個(gè)大平臺(tái),為協(xié)助.NET開(kāi)發(fā)者開(kāi)發(fā)機(jī)器學(xué)習(xí)項(xiàng)目而推出的。這個(gè)平臺(tái)有個(gè)很大的特點(diǎn)就就是模型設(shè)計(jì)到應(yīng)用的一個(gè)“平民化”,能將其他平臺(tái)設(shè)計(jì)的模型快讀的用于.NET生態(tài)中,我們使用的Office等產(chǎn)品均受他的影響。平臺(tái)中還包含了很機(jī)器學(xué)習(xí)算法,相對(duì)于有ML需求的,使用起來(lái)更方便一些。

          • 出生地:微軟亞洲研究院
          • 特點(diǎn):生態(tài)強(qiáng)大、包羅萬(wàn)象、.NET的伴侶
          • 主要調(diào)包語(yǔ)言:C#
          • 評(píng)價(jià):入門(mén)還行、C#有救了、比CNTK好、想去微軟可以看看
          • 入門(mén)推薦:一般般,因?yàn)檫@個(gè)是一個(gè)很大的平臺(tái),可以先學(xué)別的,然后有.NET的需求再了解。
          • 推薦資料:微軟官網(wǎng)寫(xiě)的超級(jí)的詳細(xì),由于阿chai直接看的官方文檔,所以推薦這個(gè)。

          TensorFlow2.x

          TensorFlow出2.x了,有點(diǎn)大器晚成,靜態(tài)圖雖然好用但是被動(dòng)態(tài)圖搶了市場(chǎng)啊,有點(diǎn)慘。他支持了動(dòng)態(tài)圖,并且把Keras當(dāng)成自己的高級(jí)API,所以使用2.x的小伙伴,注意自己import后面怎么寫(xiě),呵呵呵。有一說(shuō)一,2.x確實(shí)好用,也支持1.x,但是出的晚沒(méi)辦法啊。

          • 出生地:Google
          • 特點(diǎn):計(jì)算圖/動(dòng)態(tài)圖、高級(jí)API超級(jí)方便、底層C構(gòu)建速度快,生態(tài)更加強(qiáng)大
          • 主要調(diào)包語(yǔ)言:Python、C/C++、JS
          • 評(píng)價(jià):對(duì)標(biāo)PyTorch、學(xué)術(shù)界沒(méi)市場(chǎng)了、部署更加的方便
          • 入門(mén)推薦:建議做工程的小伙伴入門(mén),學(xué)術(shù)界真的馬上被PyTorch壟斷
          • 推薦資料一(北大曹教授):https://www.bilibili.com/video/BV1B7411L7Qt?from=search&seid=12837506722184915875
          • 推薦資料二(沐神):https://zh-v2.d2l.ai/index.html

          ONNX(比較特殊)

          ONNX是一種針對(duì)機(jī)器學(xué)習(xí)所設(shè)計(jì)的開(kāi)放式的文件格式,用于存儲(chǔ)訓(xùn)練好的模型。它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存儲(chǔ)模型數(shù)據(jù)并交互。這個(gè)是Wiki的介紹,用大白話說(shuō)就是是一個(gè)中間件,比如你PyTorch的模型想轉(zhuǎn)換別的,就得通過(guò)ONNX,現(xiàn)在有的框架可以直接轉(zhuǎn),但是在沒(méi)有專門(mén)支持的時(shí)候,ONNX就非常重要了,萬(wàn)物先轉(zhuǎn)ONNX,ONNX再轉(zhuǎn)萬(wàn)物。ONNX本身也有自己的模型庫(kù)以及很多開(kāi)源的算子,所以用起來(lái)門(mén)檻不是那么高。

          ONNX 流程圖,其中顯示了訓(xùn)練、轉(zhuǎn)換器和部署
          • 出生地:有點(diǎn)多,很多大廠一起整的
          • 特點(diǎn):萬(wàn)能轉(zhuǎn)換呀
          • 主要調(diào)包語(yǔ)言:Python、C/C++
          • 入門(mén)推薦:感覺(jué)不用刻意去學(xué)習(xí),用到了再看就可以的
          • 推薦資料:https://github.com/onnx/tutorials#converting-to-onnx-format

          這里阿chai總結(jié)一下,如果走學(xué)術(shù)路線,果斷PyTorch,如果想走部署,TensorFLow+PaddlePaddle+Caffe,如果是對(duì)深度學(xué)習(xí)感興趣想額外學(xué)習(xí),那就Paddle Paddle或者Keras。微軟的框架專業(yè)性比較強(qiáng),所以不是很適合推薦。OneFlow也是一個(gè)非常棒的深度學(xué)習(xí)框架,但是由于阿chai能力有限,使用的較少,不能誤導(dǎo)小白呀。

          深度學(xué)習(xí)移動(dòng)端推理框架

          上面我們講了很多煉丹的框架,但是我們的模型怎樣整到項(xiàng)目中呢,直接用上述的框架雖然可以,但是在嵌入式設(shè)備、機(jī)器人或者移動(dòng)設(shè)備上就有點(diǎn)問(wèn)題了。有一些框架是面向算力有限的設(shè)備上做模型部署的,接下來(lái)阿chai給大家介紹一下,自己了解的。由于本人能力有限,部署方便可能有的框架沒(méi)有說(shuō)到,畢竟這個(gè)工作量太大了,阿chai不可能每個(gè)框架都去嘗試,嘿嘿。


          TensorRT

          TensorRT是NVIDIA公司推出的面向GPU算力的推理框架,在服務(wù)端和嵌入式設(shè)備上都有非常好的效果,但是底層不開(kāi)源。TensorRT的合作方非常的多,主流的框架都支持。另外CUDA之前我們介紹過(guò),所以如果有GPU的話,我們可以傳統(tǒng)的算子CUDA,深度學(xué)習(xí)搞成TensorRT的就行的。

          • 出生地:NVIDIA
          • 特點(diǎn):自產(chǎn)自銷NVIDIA不多解釋,框架支持很多,生態(tài)很棒,穩(wěn)定性高
          • 主要調(diào)包語(yǔ)言:Python、C/C++
          • 推薦平臺(tái):NVIDIA Jetson系列的嵌入式、NVIDIA的GPU(一條龍)
          • 支持模型:TensorFlow1.x、TensorFlow2.x、PyTorch、ONNX、PaddlePaddle、MXNet。
          • 入門(mén)推薦:非常適合入門(mén),畢竟直接在自己的GPU上做測(cè)試就行。
          • 學(xué)習(xí)資料:https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html

          TF-Lite

          TF-Lite是谷歌針對(duì)移動(dòng)端的推理框架,非常的強(qiáng)大。強(qiáng)大的原因在于Keras、TensorFlow的模型都能使用,而且有專門(mén)的TPU和安卓平臺(tái),這種一條龍的服務(wù)讓TensorFlow在部署方面還在稱霸。TF-Lite如果用Keras、TensorFlow的模型去轉(zhuǎn)換一般來(lái)說(shuō)都是腳本直接開(kāi)搞,自己重構(gòu)的部分相對(duì)少很多。

          • 出生地:Google
          • 特點(diǎn):一條龍的服務(wù)專屬平臺(tái)
          • 主要調(diào)包語(yǔ)言:Python、C/C++、Java
          • 支持模型:Keras、TensorFlow、ONNX
          • 推薦平臺(tái):幾乎所有的ARM處理器和微控制器(樹(shù)莓派,甚至單片機(jī))、TPU專享
          • 入門(mén)推薦:TFboys(TensorFlow使用者)的必備,畢竟一條龍,還有機(jī)會(huì)了解TPU,非常貼心。
          • 學(xué)習(xí)資料(文檔):https://tensorflow.google.cn/lite/tutorials?hl=zh_cn
          • 學(xué)習(xí)資料(視頻):https://www.bilibili.com/video/BV1EK4y177Sn?from=search&seid=12987573843481015049

          很多TFLite的教學(xué)在油管上很多,這里就不放鏈接了,嘿嘿。

          OpenVINO

          OpenVINO是Intel的推理框架,一個(gè)超級(jí)強(qiáng)的推理部署工具。工具包中提供了很多便利的工具,例如OpenVINO提供了深度學(xué)習(xí)推理套件(DLDT),該套件可以將各種開(kāi)源框架訓(xùn)練好的模型進(jìn)行線上部署,除此之外,還包含了圖片處理工具包OpenCV,視頻處理工具包Media SDK。如果是針對(duì)Intel的加速棒或者工控機(jī)上部署真的是非常不錯(cuò)的。

          • 出生地:牙膏廠,嘿嘿
          • 特點(diǎn):面向Intel設(shè)備的加速,便捷使用,安裝和SDK很方便
          • 主要調(diào)包語(yǔ)言:C/C++、Python
          • 支持模型:TensorFlow、ONNX、PyTorch、ONNX、MXNet、PaddlePaddle
          • 推薦平臺(tái):自己的電腦、Intel神經(jīng)網(wǎng)絡(luò)加速棒、Intel的FPGA
          • 入門(mén)推薦:作為入門(mén)的不啊還是不錯(cuò)的,只是落地場(chǎng)景有點(diǎn)少,畢竟現(xiàn)在是邊緣設(shè)備的時(shí)代
          • 推薦資料:https://docs.openvinotoolkit.org/latest/index.html

          這里說(shuō)應(yīng)用場(chǎng)景較少是因?yàn)楣I(yè)上工控機(jī)多但是深度學(xué)習(xí)模型用的還是少,很多都是傳統(tǒng)的算法,很多落地場(chǎng)景中上Intel的處理器并不占優(yōu)勢(shì)。

          CoreML

          CoreML是拼過(guò)公司推出針對(duì)ios以及macOS系統(tǒng)部署的機(jī)器學(xué)習(xí)平臺(tái),底層不開(kāi)源。在蘋(píng)果設(shè)備上,CoreML的速度是最快的,但是也只能用于蘋(píng)果的設(shè)備上。現(xiàn)在開(kāi)發(fā)apple app主要是Swift,受到Swift出的特性,真的是各種語(yǔ)言各種粘,很好入門(mén)。框架訓(xùn)練的模型通過(guò)ONNX均可進(jìn)行轉(zhuǎn)換,現(xiàn)在也推出了一些直接轉(zhuǎn)換的方法,詳細(xì)看阿chai之前寫(xiě)的教程:平安夜的平安果,蘋(píng)果機(jī)器學(xué)習(xí)框架CoreML教程。

          • 出生地:Apple
          • 特點(diǎn):面向蘋(píng)果設(shè)備,專業(yè)設(shè)備上速度第一,穩(wěn)定、入門(mén)簡(jiǎn)單
          • 主要調(diào)包語(yǔ)言:C/C++、Python、Obj-C、Swift
          • 支持模型:TensorFlow、ONNX、PyTorch、ONNX、MXNet、Caffe
          • 推薦平臺(tái):iMac、MacBook、iPhone、iPad、AppleWatch
          • 入門(mén)推薦:針對(duì)Apple的開(kāi)發(fā)者,業(yè)余選手得買(mǎi)個(gè)MBP
          • 入門(mén)資料(阿chai整理的):https://mp.weixin.qq.com/s/NfdYtpOLbVdXWZXkwDKKvA

          蘋(píng)果的框架不是特殊需求不建議上來(lái)就學(xué),畢竟操作系統(tǒng)之又詫異,Xcode配置能讓小白吐血。

          NCNN

          NCNN是騰訊推出的推理框架,一定意義上是之前使用非常廣的一個(gè)推理框架,社區(qū)做的也非常棒,leader之一是四大卷王的Nihui大佬。NCNN的速度是超過(guò)TFLite的,但是有點(diǎn)麻煩的是之前得經(jīng)常自己用C去復(fù)現(xiàn)一些算子(框架起步都這樣),現(xiàn)在因?yàn)槭褂玫娜藬?shù)很多,因此算子很多。NCNN對(duì)于X86、GPU均有支持,在嵌入式、手機(jī)上的表現(xiàn)非常好。

          • 出生地:騰訊優(yōu)圖實(shí)驗(yàn)室
          • 特點(diǎn):面向移動(dòng)端的加速、手機(jī)處理器的加速單元支持很棒
          • 主要調(diào)包語(yǔ)言:C/C++、Python
          • 支持模型:TensorFlow、ONNX、PyTorch、ONNX、MXNet、DarkNet、Caffe
          • 推薦平臺(tái):安卓/蘋(píng)果手機(jī)、ARM處理器設(shè)備
          • 入門(mén)推薦:對(duì)于嵌入式或者APP開(kāi)發(fā)有經(jīng)驗(yàn)的同學(xué)絕對(duì)首推的
          • 推薦教程:https://github.com/Tencent/ncnn

          MNN

          MNN是阿里巴巴推出的移動(dòng)端框架,現(xiàn)在也支持模型訓(xùn)練,支持OpenCL,OpenGL,Vulkan和Metal等。同樣的設(shè)備,MNN的部署速度是非常快的,樹(shù)莓派3B上cpu的加速是NCNN速度的3被以上,而且文檔非常的全,代碼整潔清晰,非常適合開(kāi)發(fā)者食用。

          • 出生地:阿里巴巴多部門(mén)合作
          • 特點(diǎn):面向移動(dòng)端的加速、應(yīng)該是現(xiàn)在速度之最
          • 主要調(diào)包語(yǔ)言:C/C++、Python
          • 支持模型:TensorFlow、ONNX、PyTorch、MXNet、NCNN、Caffe、TF-Lite
          • 推薦平臺(tái):安卓/蘋(píng)果手機(jī)、ARM處理器設(shè)備
          • 入門(mén)推薦:首推的部署推理框架,絕對(duì)的好用,在蘋(píng)果設(shè)備上的速度也很棒
          • 推薦教程:https://www.yuque.com/mnn/cn

          MNN框架感覺(jué)比NCNN穩(wěn)定一些,而且源碼非常整潔,研究底層也是非常方便。

          Tenigne

          Tenigne-Lite是OpenAILab推出的邊緣端推理部署框架,OpenCV官方在嵌入式上的部署首推Tenigne-Lite。開(kāi)發(fā)團(tuán)隊(duì)中有卷王圈圈蟲(chóng)坐鎮(zhèn),現(xiàn)在對(duì)于RISC-V、CUDA、TensorRT、NPU的支持非常不錯(cuò)。Tengine是現(xiàn)在來(lái)說(shuō)感覺(jué)安裝環(huán)境中bug最少的框架,幾乎安按照文檔走不會(huì)出問(wèn)題的。

          • 出生地:OpenAILab
          • 特點(diǎn):面向移動(dòng)端的加速、速度和MNN不相上下、對(duì)于嵌入式的支持非常好
          • 主要調(diào)包語(yǔ)言:C/C++、Python
          • 支持模型:TensorFlow、ONNX、DarkNet、MXNet、NCNN、Caffe、TF-Lite、NCNN
          • 推薦平臺(tái):安卓手機(jī)、ARM處理器設(shè)備、RISC-V
          • 入門(mén)推薦:嵌入式開(kāi)發(fā)的小伙伴還等什么,干就完了
          • 推薦教程:https://github.com/OAID/Tengine

          Tengine-Lite是個(gè)朝氣蓬勃的框架,雖然出的時(shí)間并沒(méi)有其他框架早,但是框架性能、易用性還是非常適合嵌入式玩家的。

          部署的框架也有很多,比如Paddle-Lite,我們使用的PyTorch、TF也能直接部署,但是在移動(dòng)端效果不佳。華為海思NNIE也非常強(qiáng)大,之前移動(dòng)端真的快霸主,但是現(xiàn)在受制約芯片停產(chǎn)。其實(shí)看了這么多,大家應(yīng)該發(fā)現(xiàn),推理框架其實(shí)是有針對(duì) 的芯片的,比如Google的TPU,部署工作多少就是玩硬件,卷的我們都得全棧啊。

          電子書(shū)鏈接:

          鏈接: https://pan.baidu.com/s/1g8pnMgKmfyHMY9_0Uu3ZlQ  
          密碼: tw2c
          瀏覽 132
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  黄网站在线观看 | 欧美高清操逼视频 | 99热亚洲精品 | 亚洲A电影 | 啊啊啊啊操国产 |