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