深度學(xué)習(xí)正以迅雷不及掩耳之勢發(fā)展著,近幾年各種不同的深度學(xué)習(xí)框架也如雨后春筍般紛紛出現(xiàn),在大廠的支持下這些框架在深度學(xué)習(xí)的舞臺上華麗登場各顯神通。但時代一直在發(fā)展,最早出現(xiàn)的Theano也傳出了即將停止更新的消息。
根據(jù)GitHub和Stack Overflow上的數(shù)據(jù),谷歌的Tensorflow是目前使用最多的框架,很多人在想tf會不會在未來的日子里占領(lǐng)深度學(xué)習(xí)市場呢?但事實(shí)上其他的深度學(xué)習(xí)框架也在吸引著越來越多的用戶參與其中,最值得注意的就是Facebook的PyTorch框架了,在曾經(jīng)流行的框架上新開發(fā)了Python的接口,并可以順暢的使用GPU的加速能力。
出了高效的內(nèi)存使用能力和GPU的加速外,PyTorch最吸引人的地方還在于它的動態(tài)計(jì)算圖。動態(tài)計(jì)算圖主要的優(yōu)勢在于可以根據(jù)程序運(yùn)行的需要靈活地構(gòu)建計(jì)算圖,而不是像傳統(tǒng)的圖模型一樣需要先定義圖在進(jìn)行計(jì)算。這使得輸入更為靈活,對于非結(jié)構(gòu)化數(shù)據(jù)更是如此。
其他的巨頭在這一年里也紛紛出手,微軟將原來的認(rèn)知服務(wù)工具包進(jìn)行改進(jìn)后推出了CNTK深度學(xué)習(xí)框架,而Facebook同時也推出了新的Caffe2,作為著名框架Caffe的繼承和發(fā)揚(yáng)者。
最初的Caffe由伯克利大學(xué)的視覺學(xué)習(xí)中心研發(fā),目前在深度學(xué)習(xí)界依然擁有足夠多的人氣。它主要用于計(jì)算機(jī)視覺,并在Model Zoo中提供了許多性能優(yōu)異的預(yù)訓(xùn)練模型,Caffe2要超過Caffe可能還需要一些努力和積累。
另一個著名的框架就是來自亞馬遜的MXNet。MXNet有有著出眾的大規(guī)模計(jì)算性能和分布式計(jì)算表現(xiàn),但它最吸引人的還是來自對于多種語言的支持,包括C++老大哥,麻溜的Python還有統(tǒng)計(jì)的R,還包括前端的JavaScript以及Go、Scala、Perl等語言等語言。
出了這些框架外我們還不得不提到Deeplearning4j的java庫和Dlib的c++庫,還有H20.ai以及Spark對機(jī)器學(xué)習(xí)的投入也值得注意。另外Deepmind發(fā)布的Sonnet也十分引人注目。
說完了框架,那么還要來看看前端的接口。毫無疑問使用最廣泛的前端接口要是Keras了。Keras是高級深度學(xué)習(xí)結(jié)構(gòu),由谷歌的深度學(xué)習(xí)研究者Fran?ois Chollet創(chuàng)造,同時在2017年開始兼容Tensorflow作為后端,這意味著之后的TF都會包含Kersa的前端。除了TF它還支持Theano和CNTK等后端框架,同時還可以與流行的機(jī)器學(xué)習(xí)包scikit-learn協(xié)作使用。
Keras十分強(qiáng)大,人們可以利用它將簡單地神經(jīng)堆疊起來構(gòu)建深度學(xué)習(xí)模型,而無需考慮每一層后面的數(shù)學(xué)原理。這使得Keras十分適合于構(gòu)建原型,在Kaggle比賽中十分受歡迎。
有了前端我們就可以利用高級接口簡單迅速的創(chuàng)建簡單或復(fù)雜的模型,但同時也可以利用底層的TF等框架進(jìn)行更靈活地個性化設(shè)置。發(fā)現(xiàn)了嘛,這里前后端都是Google的產(chǎn)品。但其他廠商不會這樣輕易的放棄,在10月份微軟和亞馬遜推出了新型的前端Gluon API,作為MXNet和CNTK的高級接口,于是Gluon和Keras開始正式的正面競爭。
-
接口
+關(guān)注
關(guān)注
33文章
8598瀏覽量
151153 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5503瀏覽量
121162
原文標(biāo)題:2017 ? 深度學(xué)習(xí)框架之Battle
文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論