自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2019深度學(xué)習(xí)框架排行榜 (從TOP 10到TOP 3)

原創(chuàng)
人工智能 深度學(xué)習(xí)
得益于深度學(xué)習(xí)框架發(fā)展初期各家為更好地推動(dòng)技術(shù)發(fā)展而造就的開源生態(tài)模式,如今,深度學(xué)習(xí)框架百花齊放,百家爭鳴,快速推動(dòng)了深度技術(shù)在工業(yè)界的落地應(yīng)用。當(dāng)然,好“藥”也得有好“爐”煉,下面我們就介紹下目前主流的深度學(xué)習(xí)框架的發(fā)展?fàn)顩r,各自的特點(diǎn)以及適合的場景等,希望能夠幫助大家找到合適的“爐”。

【51CTO.com原創(chuàng)稿件】

1. 寫在前面

5G可以說是2019年上半年十分閃耀的那顆“星”了,美方還不惜代價(jià)地試圖封鎖中國的5G技術(shù)出海。5G之所以重要,是因?yàn)槠鋵⒑虯I技術(shù),大數(shù)據(jù)技術(shù)一道顛覆我們現(xiàn)有的生活模式,讓智能化成為現(xiàn)實(shí)。

在智能化的世界,5G技術(shù)提供高速率(>1 Gbps),低延時(shí)(1ms)的基礎(chǔ)網(wǎng)絡(luò)服務(wù),組建物聯(lián)網(wǎng)(IoT,Internet of Things),大數(shù)據(jù)技術(shù)提供對(duì)萬物互聯(lián)產(chǎn)生的海量數(shù)據(jù)的整合能力,而AI技術(shù)則提供整個(gè)智能生態(tài)的計(jì)算與決策能力,深度學(xué)習(xí)技術(shù)是非常高效的實(shí)現(xiàn)方式,在過去10年,已被學(xué)術(shù)界和工業(yè)界反復(fù)證實(shí)是一劑“靈丹妙藥”,依靠各種模型、算法可以比人類判斷得更精準(zhǔn)、更快速。

Figure 1 智能時(shí)代

技術(shù)需要高效的模式來實(shí)現(xiàn)應(yīng)用,深度學(xué)習(xí)框架就是那個(gè)實(shí)現(xiàn)“靈藥“的“煉丹爐”,能夠通過深度學(xué)習(xí)算法模塊化的封裝,快速搭建模型,輸入數(shù)據(jù),進(jìn)行各種模型的訓(xùn)練,調(diào)優(yōu),測試和部署,為整個(gè)智能生態(tài)提供預(yù)測,決策等核心推斷能力。

2. 深度學(xué)習(xí)框架排行榜

得益于深度學(xué)習(xí)框架發(fā)展初期各家為更好地推動(dòng)技術(shù)發(fā)展而造就的開源生態(tài)模式,如今,深度學(xué)習(xí)框架百花齊放,百家爭鳴,快速推動(dòng)了深度技術(shù)在工業(yè)界的落地應(yīng)用。當(dāng)然,好“藥”也得有好“爐”煉,下面我們就介紹下目前主流的深度學(xué)習(xí)框架的發(fā)展?fàn)顩r,各自的特點(diǎn)以及適合的場景等,希望能夠幫助大家找到合適的“爐”。

下文將從業(yè)界影響、資源投入、開發(fā)生態(tài)、文檔體系、模型全面性、工業(yè)實(shí)踐和開源熱度(GitHub)等七個(gè)方面評(píng)估各框架的發(fā)展?fàn)顩r,結(jié)果如下圖(供參考)。

Figure 2 十大深度學(xué)習(xí)框架發(fā)展程度(caffe,caffe2分開統(tǒng)計(jì))

再來看一下GitHub對(duì)應(yīng)的一些數(shù)據(jù)情況,Pytorch,TensorFlow,PaddlePaddle過去兩年保持了較快的發(fā)展速度,尤其是Pytorch的星數(shù)增長了3倍,獲得了頗多關(guān)注。而Caffe&Caffe2,Theano,CNTK等,雖然已經(jīng)停止迭代,但得益于產(chǎn)業(yè)的快速發(fā)展,GitHub星數(shù)仍有一定增長。

Figure 3 十大深度學(xué)習(xí)框架GitHub數(shù)據(jù)變化(caffe,caffe2分開統(tǒng)計(jì))

Figure 4 十大深度學(xué)習(xí)框架增長率(caffe,caffe2分開統(tǒng)計(jì))

3. 十大深度學(xué)習(xí)框架詳解

TensorFlow

Google的TensorFlow,可以說是當(dāng)今十分流行的深度學(xué)習(xí)框架。Airbnb,DeepMind,Intel,Nvidia,Twitter以及許多其他著名公司都在使用它。

Google自開源TensorFlow起,投入大量的人力,物力,財(cái)力,逐步構(gòu)建了一個(gè)AI生態(tài),從基礎(chǔ)研究、AI教育再到應(yīng)用實(shí)現(xiàn),而這個(gè)生態(tài)的核心就是TensorFlow。如前所說,深度學(xué)習(xí)是AIoT時(shí)代的基石,毫無疑問,Google依然走在時(shí)代轉(zhuǎn)折點(diǎn)的前列。

TensorFlow提供全面的服務(wù),無論是Python,C++,JAVA,Go,甚至是JavaScript,Julia,C#,幾乎所有開發(fā)者都可以從熟悉的語言入手開始深度學(xué)習(xí)的旅程。TensorFlow構(gòu)建了活躍的社區(qū),完善的文檔體系,大大降低了我們的學(xué)習(xí)成本,不過社區(qū)和文檔主要以英文為主,中文支持有待加強(qiáng)。另外,TensorFlow有很直觀的計(jì)算圖可視化呈現(xiàn)。模型能夠快速的部署在各種硬件機(jī)器上,從高性能的計(jì)算機(jī)到移動(dòng)設(shè)備,再到更小的更輕量的智能終端。

TensorFlow的缺點(diǎn)已經(jīng)被詬病多年,相比Pytorch,Caffe等框架,TensorFlow的計(jì)算速度可以說是“牛拉車“。而且通過它構(gòu)建一個(gè)深度學(xué)習(xí)框架需要更復(fù)雜的代碼,還要忍受重復(fù)的多次構(gòu)建靜態(tài)圖。

但綜合來說,對(duì)于英文閱讀和英文交流毫無障礙的同學(xué),TensorFlow依然是深度學(xué)習(xí)框架的優(yōu)選方案。

Pytorch

Pytorch是基于用Lua編寫的Torch庫的Python實(shí)現(xiàn)的深度學(xué)習(xí)庫,它由Facebook創(chuàng)建,目前被廣泛應(yīng)用于學(xué)術(shù)界和工業(yè)界,隨著Caffe2項(xiàng)目并入Pytorch, Pytorch開始威脅到TensorFlow在深度學(xué)習(xí)應(yīng)用框架領(lǐng)域的地位。

Pytorch官網(wǎng)的標(biāo)題語簡明地描述了Pytorch的特點(diǎn)以及將要發(fā)力的方向。Pytorch在學(xué)術(shù)界優(yōu)勢(shì)很大,關(guān)于用到深度學(xué)習(xí)模型的文章,除了Google的,其他大部分都是通過Pytorch進(jìn)行實(shí)驗(yàn)的,究其原因,一是Pytorch庫足夠簡單,跟NumPy,SciPy等可以無縫連接,而且基于tensor的GPU加速非常給力,二是訓(xùn)練網(wǎng)絡(luò)迭代的核心-梯度的計(jì)算,Autograd架構(gòu)(借鑒于Chainer),基于Pytorch,我們可以動(dòng)態(tài)地設(shè)計(jì)網(wǎng)絡(luò),而無需笨拙地定義靜態(tài)網(wǎng)絡(luò)圖,才能去進(jìn)行計(jì)算,想要對(duì)網(wǎng)絡(luò)有任務(wù)修改,都要從頭開始構(gòu)建靜態(tài)圖?;诤唵?,靈活的設(shè)計(jì),Pytorch快速成為了學(xué)術(shù)界的主流深度學(xué)習(xí)框架。

Pytorch的劣勢(shì)在于模型部署,由于對(duì)其部署難度早有耳聞,我沒嘗試過部署Pytorch的模型,一般是在Pytorch快速的試驗(yàn)新的模型,確認(rèn)好的效果再去找“現(xiàn)成的”的TensorFlow模型做簡單的優(yōu)化。

不過現(xiàn)在,如果稍微深入了解TensorFlow和Pytorch,就會(huì)發(fā)現(xiàn)他們?cè)絹碓较瘢琓F加入了動(dòng)態(tài)圖架構(gòu),Pytorch致力于其在工業(yè)界更加易用。打開各自的官網(wǎng),你也會(huì)發(fā)現(xiàn)文檔風(fēng)格也越發(fā)的相似。

PaddlePaddle

PaddlePaddle是由百度自主研發(fā)的開源深度學(xué)習(xí)平臺(tái),近期有了中文名字,飛槳。官網(wǎng)截圖也很有意思,很多人在劃槳。飛槳?jiǎng)偘l(fā)布的時(shí)候,并不被看好,感覺更像是Google有,百度也要有的腔調(diào),但是近來在做一個(gè)關(guān)于語義識(shí)別的項(xiàng)目,其他框架支持中文的模型實(shí)在是少的可憐,時(shí)間緊張也沒有時(shí)間大規(guī)模訓(xùn)練,于是就來試試飛槳,其中基于BERT的ERNIE模型取得了較好的效果,部署也不折騰。個(gè)人認(rèn)為可以將模型庫中的經(jīng)典模型套在自己的問題上,作為baseline模型快速試驗(yàn),而后慢慢調(diào)優(yōu)追求更好的效果。

從模型庫找到適合自己的模型,按照實(shí)踐教程一步步進(jìn)行就行了,過程還是比較簡單的,遇到的問題在GitHub的issues中都有找到,雖然不像TF那么活躍,但是支持也是很及時(shí)的。我是從官網(wǎng)找模型,發(fā)現(xiàn)官網(wǎng)又更新了,盜張圖過來感受下支持的模型。

Figure 5 PaddlePaddle模型庫(源:百度PaddlePaddle官網(wǎng))

功能上,飛槳同時(shí)支持動(dòng)態(tài)圖和靜態(tài)圖,能方便地調(diào)試模型,方便地部署,非常適合業(yè)務(wù)應(yīng)用的落地實(shí)現(xiàn)。飛槳也已經(jīng)支持?jǐn)?shù)百個(gè)節(jié)點(diǎn)的高效并行訓(xùn)練。可以說在過去2年的時(shí)間里,深度學(xué)習(xí)領(lǐng)域在大規(guī)模的落地應(yīng)用,各家框架也都在快速的發(fā)展,但是百度的飛槳看來是這個(gè)階段發(fā)展更快的框架,甚至是發(fā)展更快的AI開發(fā)生態(tài)。

目前,以上三個(gè)框架可以說發(fā)展比較快,并且仍在穩(wěn)定更新與維護(hù)。功能上來說,各框架已經(jīng)“越長越像”,三個(gè)框架還是會(huì)有各自的特點(diǎn),如何選擇還是要根據(jù)自己的目標(biāo)來看。

下面簡單介紹一下其他的一些主要框架。

Keras

Keras的出現(xiàn)大大降低了深度學(xué)習(xí)應(yīng)用的門檻,通過Keras的API可以通過數(shù)行代碼就構(gòu)建一個(gè)網(wǎng)絡(luò)模型,曾幾何時(shí),Keras+Theano,Keras+CNTK的模式深得開發(fā)者喜愛。目前Keras整套架構(gòu)已經(jīng)封裝進(jìn)了TensorFlow,在TF.keras可以完成Keras的所有事情。

Deeplearning4j

Deeplearning4j,顧名思義,它是用JAVA編寫的,并且與任何JVM語言兼容,如Scala,Clojure或Kotlin,基礎(chǔ)計(jì)算模塊是用C,C++和CUDA開發(fā)的,基于此,DL4J對(duì)Spark和Hadoop生態(tài)有很好的支持,在多卡GPU上也有很好的性能。相比TF,Pytorch和飛槳,DL4J的文檔和社區(qū)體系并不是很完善,而且其本身并不支持Python,而是由高層級(jí)的Keras API支持,上手難度稍大,另外其應(yīng)用示例也很有限。

Mxnet

Mxnet可以說成名很早,發(fā)展一直不溫不火,現(xiàn)在在Apache項(xiàng)目下孵化,當(dāng)下背靠企業(yè)的TensorFlow,Pytorch和飛槳都依靠廣泛的應(yīng)用場景踏上了AI發(fā)展的快車道,而Mxnet缺少的可能就是大廠應(yīng)用場景的落地實(shí)現(xiàn)。

Caffe&Caffe2

Caffe 是一個(gè)優(yōu)先考慮表達(dá)、速度和模塊化來設(shè)計(jì)的框架,它由賈揚(yáng)清和伯克利人工智能實(shí)驗(yàn)室研究開發(fā)。支持 C、C++、Python等接口以及命令行接口。它以其速度和可轉(zhuǎn)性以及其在卷積神經(jīng)網(wǎng)絡(luò)建模中的適用性而聞名。

使用Caffe庫的好處是從深度網(wǎng)絡(luò)存儲(chǔ)庫"Caffe 模型Zoo"訪問可用網(wǎng)絡(luò),這些網(wǎng)絡(luò)經(jīng)過預(yù)先培訓(xùn),可以立即使用。Caffe是一個(gè)曾經(jīng)叱咤風(fēng)云的視覺識(shí)別深度學(xué)習(xí)網(wǎng)絡(luò)。但是,Caffe 不支持精細(xì)粒度網(wǎng)絡(luò)層,給定體系結(jié)構(gòu),對(duì)循環(huán)網(wǎng)絡(luò)和語言建模的總體支持相當(dāng)差,必須用低級(jí)語言建立復(fù)雜的層類型,使用門檻很高。

Caffe2是由Facebook組織開發(fā)的深度學(xué)習(xí)模型,雖然使用門檻不像Caffe那樣高,但仍然讓不那么看重性能的開發(fā)者望而卻步,很快就被并入Pytorch項(xiàng)目。而Caffe自2017年以來都沒有再更新了,新的項(xiàng)目已經(jīng)鮮有其身影,曾名噪一時(shí)的框架就此落幕。

Chainer

Chainer是純粹用Python在NumPy,CuPy等庫的基礎(chǔ)上開發(fā)的,它的創(chuàng)新是網(wǎng)絡(luò)不再是靜態(tài)圖,而是可以靈活定義,快速運(yùn)行的一套深度學(xué)習(xí)架構(gòu),同時(shí)可以運(yùn)行于大型系統(tǒng)并保持較高的性能,后來Pytorch的設(shè)計(jì)靈感就是部分借鑒于Chainer。

Theano

Theano是深度學(xué)習(xí)框架的鼻祖,它由Yoshua Bengio和蒙特利爾大學(xué)的研究小組于2007年創(chuàng)建,是率先廣泛使用的深度學(xué)習(xí)框架。Theano 是一個(gè) Python 庫,速度更快,功能強(qiáng)大,可以高效的進(jìn)行數(shù)值表達(dá)和計(jì)算,可以說是從NumPy矩陣表達(dá)向tensor表達(dá)的一次跨越,為后來的深度學(xué)習(xí)框架提供了樣板。遺憾的是Theano團(tuán)隊(duì)已經(jīng)停止了該項(xiàng)目的更新,深度學(xué)習(xí)應(yīng)用框架的發(fā)展進(jìn)入到了背靠工業(yè)界大規(guī)模應(yīng)用的階段。

CNTK

CNTK是由微軟開發(fā)的深度學(xué)習(xí)框架,是一個(gè)用于商業(yè)級(jí)分布式深度學(xué)習(xí)的開源工具包。它通過定向圖將神經(jīng)網(wǎng)絡(luò)描述為一系列計(jì)算步驟,支持DNNs,CNNs以及自由組合的模型。今年,CNTK團(tuán)隊(duì)也宣布不再更新項(xiàng)目,讓人唏噓。

總的來說,各家的深度學(xué)習(xí)框架各有千秋,重要的是找到適合自己團(tuán)隊(duì)的,能夠快速匹配團(tuán)隊(duì)的技術(shù)棧,快速試驗(yàn)以期發(fā)揮深度學(xué)習(xí)技術(shù)應(yīng)用落地的商業(yè)價(jià)值。

4. 如何選擇?

那么如何在眾多的框架中做選擇呢?我推薦這3個(gè)框架:TensorFlow,Pytorch,飛槳。其他框架不是投入資源有限,就是已經(jīng)不再維護(hù)了。實(shí)際上,我們都應(yīng)該或多或少地去了解這3個(gè)框架,根據(jù)自己的實(shí)際情況可以快速選型。

如果是剛剛接觸深度學(xué)習(xí),以學(xué)習(xí)為目的的開發(fā)者,我建議從TensorFlow和飛槳開始上手,至少目前來看,Google和百度是傾全力打造這兩個(gè)平臺(tái)的,他們已經(jīng)不只是一個(gè)深度學(xué)習(xí)框架了,更是一個(gè)AI開發(fā)的生態(tài),從基礎(chǔ)的視頻課程,完善的文檔體系到項(xiàng)目的開放落地提供的是統(tǒng)一的服務(wù)。多說一句,百度飛槳的基礎(chǔ)文檔相當(dāng)詳細(xì),不僅有代碼實(shí)現(xiàn),數(shù)據(jù)流過程的教程,同時(shí)也包含了詳細(xì)的算法原理,這點(diǎn)為那些還不是那么了解相應(yīng)模型的同學(xué)帶來極大的方便。對(duì)于學(xué)有余力的同學(xué),我建議這3個(gè)框架都可以去了解下。

如果是出于學(xué)術(shù)目的,建議從Pytorch開始,畢竟學(xué)術(shù)研究要緊盯著前沿,看文章,復(fù)現(xiàn)文章中模型的效果,選大家都用的可以節(jié)省不必要的時(shí)間成本,把重點(diǎn)放在優(yōu)化模型提升模型效果上。

如果是想要開箱即用,想將深度學(xué)習(xí)技術(shù)快速應(yīng)用到自己的場景中嘗試,我建議選擇飛槳,飛槳中有大量的實(shí)戰(zhàn)案例,套到相應(yīng)的場景基本就能迭代起來了。而且在NLP領(lǐng)域,需要對(duì)各種語言進(jìn)行預(yù)處理,毫無疑問對(duì)中文支持更好的是飛槳,比如ERNIE,其挖掘海量的中文數(shù)據(jù),對(duì)先驗(yàn)語義知識(shí)進(jìn)行建模,增強(qiáng)了語義表達(dá)能力,可以作為NLP,NLU應(yīng)用的基礎(chǔ)服務(wù)不同的場景。

隨手貼幾個(gè)招聘網(wǎng)站上的JD,也可以幫大家明確一下方向,供參考。

 

 

 

5. 未來

我們處在更好的時(shí)代。

感謝互聯(lián)網(wǎng)文化,感謝開源文化,讓技術(shù)可以以指數(shù)級(jí)的速度發(fā)展,我們更要感謝在時(shí)代轉(zhuǎn)折點(diǎn)的那些引路人,沒有Google、百度等企業(yè)不遺余力地嘗試將新技術(shù)應(yīng)用于各產(chǎn)業(yè),就沒有技術(shù)的飛速發(fā)展,就沒有更美好的生活模式的變遷。

AI技術(shù)的平民化是智能時(shí)代發(fā)展的催化劑,我們應(yīng)用深度學(xué)習(xí)技術(shù),從原理到框架,再到應(yīng)用平臺(tái)化工具將其落地到所有的場景,這是未來的發(fā)展趨勢(shì)。得益于5G技術(shù)的發(fā)展,相信在不久的將來,我們將實(shí)現(xiàn)萬物互聯(lián)。深度學(xué)習(xí)是AIoT時(shí)代的關(guān)鍵,各平臺(tái)已有的實(shí)踐落地項(xiàng)目給我們提供了產(chǎn)業(yè)落地的實(shí)現(xiàn)路徑??芍^星星之火,漸成燎原之勢(shì),另外,發(fā)展我國自己的AI開發(fā)生態(tài)也同樣重要,考慮到近期的“華為事件”,有備無患。

結(jié)尾,我想說的是,框架、平臺(tái)都只是為我們提供了工具,我們得明確目標(biāo)并找到合適的場景,推進(jìn)應(yīng)用在業(yè)務(wù)上的落地,實(shí)現(xiàn)商業(yè)價(jià)值才能擁有核心競爭力。

6. 參考

  1.  https://www.techspot.com/article/1582-state-of-5g-wireless/
  2.  https://www.tensorflow.org/
  3.  https://pytorch.org/
  4.  https://www.paddlepaddle.org.cn/
  5.  https://deeplearning4j.org/
  6.  https://chainer.org/
  7.  https://mxnet.incubator.apache.org/
  8.  https://keras.io/
  9.  https://github.com/Theano/Theano
  10.  https://docs.microsoft.com/en-us/cognitive-toolkit/
  11.  https://binaryinformatics.com/pytorch-vs-tensorflow/
  12.  https://www.springboard.com/blog/deep-learning-frameworks/

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

 

責(zé)任編輯:查士加 來源: 51CTO
相關(guān)推薦

2009-04-09 23:31:21

2014-11-26 10:22:14

編程語言排行

2024-01-12 09:50:55

2015-09-11 10:04:22

2022-10-20 10:08:23

2011-12-09 20:42:55

iOS

2015-04-14 14:37:06

編程語言4月編程語言排行

2010-10-09 11:01:40

2024-03-14 13:46:41

深度學(xué)習(xí)人工智能

2012-07-10 10:59:09

TOP500Sequoia

2010-04-07 08:23:48

編程語言排行榜

2009-10-29 09:44:46

高性能計(jì)算HPC超級(jí)計(jì)算機(jī)

2014-05-08 10:05:00

編程語言排行榜

2015-06-02 16:23:58

鳳凰科技

2019-07-23 14:14:59

編程語言JavaPython

2020-03-07 22:01:58

編程語言JavaPython

2024-07-31 08:01:48

2020-01-06 09:48:31

Python編程語言代碼

2013-04-01 09:50:15

Web框架Web

2023-03-15 08:03:31

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)