摘要:簡稱,是基于聚焦行業(yè)應(yīng)用且提供商業(yè)支持的分布式深度學(xué)習(xí)框架,其宗旨是在合理的時(shí)間內(nèi)解決各類涉及大量數(shù)據(jù)的問題。是負(fù)責(zé)開發(fā)的用編寫,通過引擎加速的深度學(xué)習(xí)框架,是目前受關(guān)注最多的深度學(xué)習(xí)框架。
作者簡介
魏秀參,曠視科技 Face++ 南京研究院負(fù)責(zé)人。南京大學(xué) LAMDA 研究所博士,主要研究領(lǐng)域?yàn)橛?jì)算機(jī)視覺和機(jī)器學(xué)習(xí)。在相關(guān)領(lǐng)域較高級國際期刊如 IEEE TIP、IEEE TNNLS、Machine Learning Journal 等和較高級國際會(huì)議如 ICCV、IJCAI、ICDM 等發(fā)表論文十余篇,并兩次獲得國際計(jì)算機(jī)視覺相關(guān)競賽冠亞軍。著有《解析深度學(xué)習(xí)——卷積神經(jīng)網(wǎng)絡(luò)原理與視覺實(shí)踐》一書。曾獲 CVPR 2017 較佳審稿人、南京大學(xué)博士生校長特別獎(jiǎng)學(xué)金等榮譽(yù),擔(dān)任 ICCV、CVPR、ECCV、NIPS、IJCAI、AAAI 等國際會(huì)議 PC member。(個(gè)人自媒體:知乎“魏秀參”,新浪微博“Wilson_NJUer”)。
14 深度學(xué)習(xí)開源工具簡介
自 2006 年 Hinton 和 Salakhutdinov 在 Science 上發(fā)表的深度學(xué)習(xí)論文點(diǎn)燃了最近一次神經(jīng)網(wǎng)絡(luò)復(fù)興的“星星之火”,接著, 2012 年 Alex-Net 在 ImageNet 上奪冠又迅速促成了深度學(xué)習(xí)在人工智能領(lǐng)域的“燎原之勢”。當(dāng)下深度學(xué)習(xí)算法可謂主宰了計(jì)算機(jī)視覺、自然語言學(xué)習(xí)等眾多人工智能應(yīng)用領(lǐng)域。 與此同時(shí),與學(xué)術(shù)研究一起快速發(fā)展并駕齊驅(qū)的還有層出不窮的諸多深度學(xué)習(xí) 開源開發(fā)框架。本章將向讀者介紹和對比 9 個(gè)目前使用較多的深度學(xué)習(xí)開源框架,供大家根據(jù)自身情況“擇優(yōu)納之”。?
14.1 常用框架對比
表 14.2 中從“開發(fā)語言”、“支持平臺”、“支持接口”、是否支持“自動(dòng)求導(dǎo)”、 是否提供“預(yù)訓(xùn)練模型”、是否支持“單機(jī)多卡并行”運(yùn)算等 10 個(gè)方面,對包 含 Caffe、 MatConvNet、 TensorFlow、 Theano 和 Torch 在內(nèi)的 9 個(gè)目前最常用的深度學(xué)習(xí)開源框架進(jìn)行了對比。?
14.2 常用框架的各自特點(diǎn)
14.2.1 Caffe
?Caffe 是一個(gè)廣為人知、廣泛應(yīng)用側(cè)重計(jì)算機(jī)視覺方面的深度學(xué)習(xí)庫,由加州大學(xué)伯克利分校 BVLC 組開發(fā),總結(jié)來說, Caffe 有以下優(yōu)缺點(diǎn):?
? 適合前饋網(wǎng)絡(luò)和圖像處理;
? ? ? ? ? 適合微調(diào)已有的網(wǎng)絡(luò)模型;
? ? ? ? ? 訓(xùn)練已有網(wǎng)絡(luò)模型無需編寫任何代碼;
? ? ? ? ? 提供方便的 Python 和 MATLAB 接口;?
? 可單機(jī)多卡,但不支持多機(jī)多卡;
? ? ? ? ? 需要用 C++/CUDA 編寫新的 GPU 層;
? ? ? ? ? 不適合循環(huán)網(wǎng)絡(luò);
? ? ? ? ? 用于大型網(wǎng)絡(luò)(如, GoogLeNet、 ResNet )時(shí)過于繁瑣;
? ? ? ? ? 擴(kuò)展性稍差,代碼有些不夠精簡;
? ? ? ? ? 不提供商業(yè)支持;
? ? ? ? ? 框架更新緩慢,可能之后不再更新。?
14.2.2 Deeplearning4j
Deeplearning4j 簡稱 DL4J,是基于JVM、聚焦行業(yè)應(yīng)用且提供商業(yè)支持的分布式深度學(xué)習(xí)框架,其宗旨是在合理的時(shí)間內(nèi)解決各類涉及大量數(shù)據(jù)的問題。 它與 Hadoop 和 Spark 集成,可使用任意數(shù)量的 GPU 或 CPU 運(yùn)行。 DL4J 是一種適用于各類平臺的便攜式學(xué)習(xí)庫。開發(fā)語言為 Java,可通過調(diào)整 JVM 的堆空間、垃圾回收算法、內(nèi)存管理以及 DL4J 的 ETL 數(shù)據(jù)加工管道來優(yōu)化 DL4J 的性能。其優(yōu)缺點(diǎn)為:?
? 適用于分布式集群,可高效處理海量數(shù)據(jù);
? ? ? ? ? 在多種芯片上的運(yùn)行已經(jīng)被優(yōu)化;
? ? ? ? ? 可跨平臺運(yùn)行,有多種語言接口;
? ? ? ? ? 支持單機(jī)多卡和多機(jī)多卡;
? ? ? ? ? 支持自動(dòng)求導(dǎo),方便編寫新的網(wǎng)絡(luò)層;
? ? ? ? ? 提供商業(yè)支持;?
? 提供的預(yù)訓(xùn)練模型有限;
? ? ? ? ? 框架速度不夠快。?
14.2.3 Keras
Keras 由谷歌軟件工程師 Francois Chollet 開發(fā),是一個(gè)基于 Theano 和 TensorFlow 的深度學(xué)習(xí)庫,具有一個(gè)受 Torch 啟發(fā)、較為直觀的 API。其優(yōu)缺點(diǎn)如下:
? ? ? ? ? 受 Torch 啟發(fā)的直觀;
? 可使用 Theano、TensorFlow 和 Deeplearning4j 后端;
? ? 支持自動(dòng)求導(dǎo);
? 框架更新速度快。
14.2.4 MXNet
MXNet 是一個(gè)提供多種 API 的機(jī)器學(xué)習(xí)框架,主要面向 R、Python 和 Julia 等語言,目前已被亞馬遜云服務(wù)采用。其優(yōu)缺點(diǎn)為:
? 可跨平臺使用;
? 支持多種語言接口;
? ? ? ? ? 不支持自動(dòng)求導(dǎo)。
14.2.5 MatConvNet
MatConvNet 由英國牛津大學(xué)著名計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)研究組 VGG 負(fù)責(zé)開發(fā),是主要基于 MATLAB 的深度學(xué)習(xí)工具包。其優(yōu)缺點(diǎn)為:
? ? ? ? ? 基于 MATLAB,便于進(jìn)行圖像處理和深度特征后處理;
? ? 提供了豐富的預(yù)訓(xùn)練模型;
? 提供了充足的文檔及教程;
? 不支持自動(dòng)求導(dǎo);?
? 跨平臺能力差。
14.2.6 TensorFlow
TensorFlow 是 Google 負(fù)責(zé)開發(fā)的用 Python API 編寫,通過 C/C++ 引擎加速的深度學(xué)習(xí)框架,是目前受關(guān)注最多的深度學(xué)習(xí)框架。它使用數(shù)據(jù)流圖集成 深度學(xué)習(xí)中最常見的單元,并支持許多的 CNN 網(wǎng)絡(luò)結(jié)構(gòu)以及不同設(shè)置的 RNN。其優(yōu)缺點(diǎn)為:
? 具備不局限于深度學(xué)習(xí)的多種用途,還有支持強(qiáng)化學(xué)習(xí)和其他算法的工具;
? 跨平臺運(yùn)行能力強(qiáng);
? 支持自動(dòng)求導(dǎo);
? 運(yùn)行明顯比其他框架慢;
? 不提供商業(yè)支持。
14.2.7 Theano
Theano 是深度學(xué)習(xí)框架中的元老,用 Python 編寫,可與其他學(xué)習(xí)庫配合使用,非常適合學(xué)術(shù)研究中的模型開發(fā)。現(xiàn)在已有大量基于 Theano 的開源深度學(xué)習(xí)庫,包括 Keras、Lasagne 和 ?Blocks。這些學(xué)習(xí)庫試著在 Theano 有時(shí)不夠直觀的接口之上添加一層便于使用的 API。關(guān)于 Theano,有如下特點(diǎn):?
? 支持 Python 和 Numpy;
? 支持自動(dòng)求導(dǎo);
? RNN 與計(jì)算圖匹配良好;
? 高級的包裝(Keras、Lasagne)可減少使用時(shí)的麻煩;?
? 編譯困難,錯(cuò)誤信息可能沒有幫助;
? 運(yùn)行模型前需編譯計(jì)算圖,大型模型的編譯時(shí)間較長;?
? 僅支持單機(jī)單卡;
? 對預(yù)訓(xùn)練模型的支持不夠完善。
14.2.8 Torch
Torch 是用 Lua 編寫帶 API 的科學(xué)計(jì)算框架,支持機(jī)器學(xué)習(xí)算法。Facebook 和 Twitter 等大型科技公司使用 Torch 的某些版本,由內(nèi)部團(tuán)隊(duì)專門負(fù)責(zé)定制自己的深度學(xué)習(xí)平臺。其優(yōu)缺點(diǎn)如下:
? 大量模塊化組件,容易組合;
? 易編寫新的網(wǎng)絡(luò)層;
? 支持豐富的預(yù)訓(xùn)練模型;
? PyTorch 為 Torch 提供了更便利的接口;
? 使用 Lua 語言需要學(xué)習(xí)成本;
? 文檔質(zhì)量參差不齊;
? 一般需要自己編寫訓(xùn)練代碼(即插即用相對較少)。
聲明:文章收集于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系小編及時(shí)處理,謝謝!
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/4854.html
摘要:相比于直接使用搭建卷積神經(jīng)網(wǎng)絡(luò),將作為高級,并使用作為后端要簡單地多。測試一學(xué)習(xí)模型的類型卷積神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)集任務(wù)小圖片數(shù)據(jù)集目標(biāo)將圖片分類為個(gè)類別根據(jù)每一個(gè)的訓(xùn)練速度,要比快那么一點(diǎn)點(diǎn)。 如果我們對 Keras 在數(shù)據(jù)科學(xué)和深度學(xué)習(xí)方面的流行還有疑問,那么考慮一下所有的主流云平臺和深度學(xué)習(xí)框架的支持情況就能發(fā)現(xiàn)它的強(qiáng)大之處。目前,Keras 官方版已經(jīng)支持谷歌的 TensorFlow、微軟的...
摘要:表示,的賈揚(yáng)清對他的這一項(xiàng)目給予了很多幫助,賈揚(yáng)清告訴他,的好幾個(gè)網(wǎng)絡(luò),較大瓶頸都是,如果想要實(shí)現(xiàn)一流的性能,賈揚(yáng)清建議較好使用異步,這樣會(huì)有很大的幫助。,和則是默認(rèn)啟用這項(xiàng)功能。 微軟數(shù)據(jù)科學(xué)家Ilia Karmanov做了一個(gè)項(xiàng)目,使用高級API測試8種常用深度學(xué)習(xí)框架的性能(因?yàn)镵eras有TF,CNTK和Theano,所以實(shí)際是10種)。Karmanov希望這個(gè)項(xiàng)目能夠幫助數(shù)據(jù)科學(xué)家...
摘要:第一個(gè)深度學(xué)習(xí)框架該怎么選對于初學(xué)者而言一直是個(gè)頭疼的問題。簡介和是頗受數(shù)據(jù)科學(xué)家歡迎的深度學(xué)習(xí)開源框架。就訓(xùn)練速度而言,勝過對比總結(jié)和都是深度學(xué)習(xí)框架初學(xué)者非常棒的選擇。 「第一個(gè)深度學(xué)習(xí)框架該怎么選」對于初學(xué)者而言一直是個(gè)頭疼的問題。本文中,來自 deepsense.ai 的研究員給出了他們在高級框架上的答案。在 Keras 與 PyTorch 的對比中,作者還給出了相同神經(jīng)網(wǎng)絡(luò)在不同框...
摘要:但年月,宣布將在年終止的開發(fā)和維護(hù)。性能并非最優(yōu),為何如此受歡迎粉絲團(tuán)在過去的幾年里,出現(xiàn)了不同的開源深度學(xué)習(xí)框架,就屬于其中典型,由谷歌開發(fā)和支持,自然引發(fā)了很大的關(guān)注。 Keras作者Fran?ois Chollet剛剛在Twitter貼出一張圖片,是近三個(gè)月來arXiv上提到的深度學(xué)習(xí)開源框架排行:TensorFlow排名第一,這個(gè)或許并不出意外,Keras排名第二,隨后是Caffe、...
摘要:深度學(xué)習(xí)在過去的幾年里取得了許多驚人的成果,均與息息相關(guān)。機(jī)器學(xué)習(xí)進(jìn)階筆記之一安裝與入門是基于進(jìn)行研發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng),被廣泛用于語音識別或圖像識別等多項(xiàng)機(jī)器深度學(xué)習(xí)領(lǐng)域。零基礎(chǔ)入門深度學(xué)習(xí)長短時(shí)記憶網(wǎng)絡(luò)。 多圖|入門必看:萬字長文帶你輕松了解LSTM全貌 作者 | Edwin Chen編譯 | AI100第一次接觸長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)時(shí),我驚呆了。原來,LSTM是神...
閱讀 3704·2021-11-22 13:52
閱讀 3602·2019-12-27 12:20
閱讀 2384·2019-08-30 15:55
閱讀 2143·2019-08-30 15:44
閱讀 2261·2019-08-30 13:16
閱讀 573·2019-08-28 18:19
閱讀 1880·2019-08-26 11:58
閱讀 3435·2019-08-26 11:47