小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

深度學(xué)習(xí)框架這么多,本文帶你全攻略

 timtxu 2017-05-09

播放GIF

本文編譯自ai.icymi,該作者全面介紹了目前在GitHub上最流行的幾種深度學(xué)習(xí)框架,同時(shí)進(jìn)行了詳細(xì)的對(duì)比。機(jī)器人圈希望通過此文,圈友可以加深對(duì)開源深度學(xué)習(xí)框架的理解,并在學(xué)習(xí)過程中更好地選擇適合自己的框架類型,提高效率。

圖:Pixabay

Caffe是一種流行的視覺識(shí)別深度學(xué)習(xí)網(wǎng)絡(luò)。

Caffe 2繼續(xù)強(qiáng)力支持視覺類型問題,但增加了自然語言處理、手寫識(shí)別和時(shí)間序列預(yù)測的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和長短期記憶網(wǎng)絡(luò)(LSTM)。

MXNet支持深度學(xué)習(xí)架構(gòu),如卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),包括長短期記憶網(wǎng)絡(luò)(LTSM)。

然而,隨著Facebook最新宣布其改變航向,使Caffe 2成為主要的深入學(xué)習(xí)框架,以便在移動(dòng)設(shè)備上部署深入學(xué)習(xí)。

DL4J具有豐富的深層網(wǎng)絡(luò)架構(gòu)支持:受限玻爾茲曼機(jī)(RBM)、深信度神經(jīng)網(wǎng)絡(luò)(DBN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),RNTN和長短期記憶網(wǎng)絡(luò)(LTSM)。

開源深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)即將到來,幾種框架均通過專有解決方案提供先進(jìn)的機(jī)器學(xué)習(xí)和人工智能的功能。如何確定哪個(gè)開源框架最適合你呢?

在“大數(shù)據(jù)-智能數(shù)據(jù)的路線圖”一文中,我描述了一套機(jī)器學(xué)習(xí)架構(gòu),它提供包括圖像、手寫、視頻、語音識(shí)別、自然語言處理和對(duì)象識(shí)別等高級(jí)功能。沒有一種完善的深度學(xué)習(xí)網(wǎng)絡(luò)可以解決你“所有”的業(yè)務(wù)問題。希望下面的內(nèi)容能夠?yàn)槟愕臉I(yè)務(wù)提供最適合目的框架的見解。

以下有關(guān)深度學(xué)習(xí)框架的內(nèi)容,總結(jié)了GitHub中最流行的開源深度網(wǎng)絡(luò)庫。排名基于開發(fā)者在GitHub收到的星星數(shù)。(數(shù)字來源于2017年5月初)

TensorFlow

Google的TensorFlow來自早期的名為DistBelief V2的Google庫,它是作為Google Brain項(xiàng)目一部分而開發(fā)的專有深度網(wǎng)絡(luò)庫。有些人形容TensorFlow是對(duì)Theano的重新設(shè)計(jì)。

當(dāng)開源TensorFlow后,谷歌立即獲得了大量的關(guān)注。TensorFlow支持廣泛的功能,如圖像、手寫、語音識(shí)別、預(yù)測,以及自然語言處理。TensorFlow于2015年11月9日以Apache 2.0許可開源。

TensorFlow在2017年2月15日發(fā)布了1.0版本。此版本是八個(gè)先前版本的累積,它解決了TensorFlow很多不完整的核心功能和性能問題。以下是TensorFlow成功的性能介紹。

TensorFlow提供以下工具:

TensorFlow編程接口包括Python和C ++。隨著版本1.0的公布,將支持Java、GO、R和Haskell API的alpha版本接口。此外,TensorFlow在Google和Amazon Cloud Environment中獲得支持。

隨著 TensorFlow r0.12 版的發(fā)布,這一開源軟件庫現(xiàn)已支持 Windows7、10 和 Server 2016。該開源軟件庫可以在ARM架構(gòu)上編譯和優(yōu)化,因?yàn)樗褂肅 ++ Eigen庫。這意味著你可以在各種服務(wù)器或移動(dòng)設(shè)備上部署經(jīng)過培訓(xùn)的模型,而無需實(shí)現(xiàn)單獨(dú)的模型解碼器或加載Python解釋器。

TensorFlow支持精細(xì)的網(wǎng)格層,允許用戶構(gòu)建新的復(fù)雜層類型,而不用低級(jí)語言實(shí)現(xiàn)。子圖執(zhí)行允許你在圖的任何邊緣引入和檢索自由數(shù)據(jù)的結(jié)果,這對(duì)于調(diào)試復(fù)雜的計(jì)算圖非常有幫助。

分布式TensorFlow引入了版本0.8,允許模型并行,這意味著模型的不同部分在不同的設(shè)備上可以并行訓(xùn)練。

該框架正在斯坦福大學(xué)、加州大學(xué)伯克利分校、多倫多大學(xué)和優(yōu)達(dá)學(xué)城(Udacity)上推出相關(guān)課程。

Caffe

Caffe是領(lǐng)導(dǎo)Facebook AI平臺(tái)工程的賈揚(yáng)清的心血結(jié)晶。Caffe可能是第一個(gè)主流的行業(yè)級(jí)深度學(xué)習(xí)工具包,開創(chuàng)于2013年底。由于其優(yōu)良的卷積模型,它是計(jì)算機(jī)視覺界最受歡迎的工具包之一,并在2014年獲得了ImageNet挑戰(zhàn)賽中獲得勝利。Caffe在BSD 2-Clause開源許可后發(fā)布。

速度使得Caffe成為研究實(shí)驗(yàn)和商業(yè)部署的完美選擇。Caffe可以使用單個(gè)Nvidia K40 GPU每天處理超過6000萬張圖片。對(duì)于推理,速度為1毫秒/圖,對(duì)于學(xué)習(xí)過程,速度為4毫秒/圖,最新版本的庫的速度更快。

Caffe是基于C++的,可以在各種設(shè)備上編譯。它是跨平臺(tái)的,包括一個(gè)Windows的端口。Caffe支持C ++、Matlab和Python的編程接口。Caffe擁有一個(gè)龐大的用戶社區(qū),為自己的深層網(wǎng)絡(luò)存儲(chǔ)庫(稱為“Model Zoo”)做出貢獻(xiàn)。AlexNet和GoogleNet是社區(qū)可用的兩種流行的用戶網(wǎng)絡(luò)。

Caffe是視覺識(shí)別的流行深度學(xué)習(xí)網(wǎng)絡(luò)。但是,Caffe不支持像TensorFlow,CNTK和Theano那樣的細(xì)粒度網(wǎng)絡(luò)層。構(gòu)建復(fù)合層類型必須以低級(jí)語言完成。由于其傳統(tǒng)的架構(gòu),它對(duì)常規(guī)網(wǎng)絡(luò)和語言建模的支持,總體上很差。

Caffe 2

Facebook的賈揚(yáng)清和他的團(tuán)隊(duì)正在研究Caffe 2。在2017年4月18日,F(xiàn)acebook根據(jù)BSD許可協(xié)議開源了Caffe 2。Caffe 2與Caffe有何不同? Caffe 2更側(cè)重于模塊化和卓越的移動(dòng)和大規(guī)模部署。像TensorFlow一樣,Caffe 2將使用C ++ Eigen庫來支持ARM架構(gòu)。

Caffe模型可以輕松地轉(zhuǎn)換為具有實(shí)用程序腳本的Caffe 2模型。Caffe設(shè)計(jì)選擇使其成為處理視覺類型問題的理想選擇。Caffe 2繼續(xù)強(qiáng)力支持視覺類型問題,但增加了自然語言處理、手寫識(shí)別,以及時(shí)間序列預(yù)測的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和長短期記憶網(wǎng)絡(luò)(LSTM)。

希望Caffe 2在不久的將來會(huì)超越Caffe,因?yàn)樯疃葘W(xué)習(xí)社區(qū)中大眾所熱捧。

CNTK

Microsoft Cognitive Toolkit(CNTK)是一種深度神經(jīng)網(wǎng)絡(luò),最初是為了提高語音識(shí)別而開發(fā)的。CNTK支持RNN和CNN類型的神經(jīng)模型,使其成為處理圖像、手寫和語音識(shí)別問題的最佳候選。CNTK支持使用Python或C++編程接口的64位Linux和Windows操作系統(tǒng),并根據(jù)MIT許可發(fā)布。

CNTK與TensorFlow和Theano的組成相似,其網(wǎng)絡(luò)被指定為向量運(yùn)算的符號(hào)圖,如矩陣的加法/乘法或卷積。此外,像TensorFlow和Theano一樣,CNTK允許構(gòu)建網(wǎng)絡(luò)層的細(xì)粒度。構(gòu)建塊(操作)的細(xì)粒度允許用戶創(chuàng)造新的復(fù)合層類型,而不用低級(jí)語言實(shí)現(xiàn)(如Caffe)。

像Caffe一樣,CNTK也是基于C++的、具有跨平臺(tái)的CPU/GPU支持。 CNTK在Azure GPU Lab提供了最高效的分布式計(jì)算性能。目前,CNTK對(duì)ARM架構(gòu)的缺乏支持,限制了其在移動(dòng)設(shè)備上的功能。

MXNet

MXNet(發(fā)音為“mix-net”)起源于卡內(nèi)基梅隆大學(xué)和華盛頓大學(xué)。MXNet是一個(gè)功能齊全,可編程和可擴(kuò)展的深入學(xué)習(xí)框架,支持最先進(jìn)的深入學(xué)習(xí)模式。 MXNet提供了混合編程模型(命令式和聲明式)和大量編程語言的代碼(包括Python、C++、R、Scala、Julia、Matlab和JavaScript)的能力。2017年1月30日,MXNet進(jìn)入Apache基金會(huì),成為Apache的孵化器項(xiàng)目。

MXNet支持深度學(xué)習(xí)架構(gòu),如卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),包括長短期記憶網(wǎng)絡(luò)(LTSM)。該框架為成像、手寫、語音識(shí)別,預(yù)測和自然語言處理提供了出色的功能。有些人稱MXNet是世界上最好的圖像分類器。

MXNet具有強(qiáng)大的技術(shù),包括擴(kuò)展能力,如GPU并行性和內(nèi)存鏡像、編程器開發(fā)速度和可移植性。此外,MXNet與Apache Hadoop YARN(一種通用的,分布式的應(yīng)用程序管理框架)集成,使MXNet成為TensorFlow的競爭對(duì)手。

MXNet的區(qū)別就是支持生成對(duì)抗網(wǎng)絡(luò)(GAN)模型的唯一深層網(wǎng)絡(luò)框架。

另一個(gè)區(qū)別是,亞馬遜首席技術(shù)官 Werner Vogels選擇公開支持MXNet:“今天,我們宣布MXNet將成為我們的深入學(xué)習(xí)框架?!盫ogel接著說:“我們計(jì)劃在現(xiàn)有和即將推出的新服務(wù)中使用它“。蘋果公司在2016年收購Graphlab / Dato / Turi之后也傳聞使用它。

Torch

Torch由Facebook的Ronan Collobert和SoumithChintala、Twitter的Clement Farabet(現(xiàn)在在Nvidia),以及Google Deep Mind的KorayKavukcuoglu共同開發(fā)。Torch的主要貢獻(xiàn)者是Facebook,TwitterNvidia。Torch獲得BSD 3開源許可。然而,隨著Facebook最新宣布其改變航向,使Caffe 2成為主要的深入學(xué)習(xí)框架,以便在移動(dòng)設(shè)備上部署深入的學(xué)習(xí)。

Torch以Lua編程語言實(shí)現(xiàn)。 Lua不是主流語言,只有在你的員工熟練掌握之前,才會(huì)影響開發(fā)人員的整體效率。

Torch缺乏TensorFlow的分布式應(yīng)用程序管理框架或者在MXNet或Deeplearning4J中支持YARN。缺乏大量的API編程語言也限制了開發(fā)人員。

DL4J

Deeplearning4J(DL4J)是由Java和Scala編寫的Apache 2.0授權(quán)的開放源碼,分布式神經(jīng)網(wǎng)絡(luò)庫。DL4J是SkyMind的Adam Gibson的創(chuàng)意,是唯一與Hadoop和Spark集成的商業(yè)級(jí)深度學(xué)習(xí)網(wǎng)絡(luò),它協(xié)調(diào)多個(gè)主機(jī)線程。DL4J是獨(dú)特的深度學(xué)習(xí)框架,因?yàn)?strong>它使用Map-Reduce來訓(xùn)練網(wǎng)絡(luò),同時(shí)依靠其他庫來執(zhí)行大型矩陣操作。

DL4J框架內(nèi)置GPU支持,這是訓(xùn)練過程的重要功能,并支持YARN、Hadoop分布式應(yīng)用程序管理框架。DL4J支持豐富的深層網(wǎng)絡(luò)架構(gòu):RBM、DBN、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、RNTN,和長短期記憶網(wǎng)絡(luò)(LTSM)。DL4J還包括名為Canova的矢量庫的支持。

DL4J在Java中開源,本質(zhì)上就比Python快。它與Caffe一樣快,用于使用多個(gè)GPU的非平凡的圖像識(shí)別任務(wù)。該框架為圖像識(shí)別,欺詐檢測和自然語言處理提供了出色的功能。

Theano

Theano由蒙特利爾大學(xué)學(xué)習(xí)算法學(xué)院(MILA)積極維護(hù)。以Theano的創(chuàng)始人YoshuaBengio為首,該實(shí)驗(yàn)室擁有約30-40名教師和學(xué)生,是深入學(xué)習(xí)研究的重要貢獻(xiàn)者。Theano支持快速開發(fā)高效的機(jī)器學(xué)習(xí)算法,并通過BSD許可發(fā)布。

Theano架構(gòu)相當(dāng)簡單,整個(gè)代碼庫和接口是Python,其中C/CUDA代碼被打包成Python字符串。對(duì)一個(gè)開發(fā)者來說這很難駕馭、調(diào)試和重構(gòu)。

Theano開創(chuàng)了使用符號(hào)圖來編程網(wǎng)絡(luò)的趨勢。Theano的符號(hào)API支持循環(huán)控制,即所謂的掃描,這使得實(shí)現(xiàn)RNN更容易、更高效。

Theano缺乏分布式應(yīng)用程序管理框架,只支持一種編程開發(fā)語言。Theano是學(xué)術(shù)研究的一個(gè)很好的工具,在一個(gè)CPU上比TensorFlow更有效地運(yùn)行。然而,在開發(fā)和支持大型分布式應(yīng)用程序時(shí),可能會(huì)遇到挑戰(zhàn)。

開源或?qū)S?/span>

隨著深入學(xué)習(xí)的不斷成熟,你將會(huì)發(fā)現(xiàn)TensorFlow,Caffe 2和MXNet之間的競爭是預(yù)料之中的。隨著軟件供應(yīng)商開發(fā)具有最先進(jìn)的智能產(chǎn)品,從而在你提供的數(shù)據(jù)中獲得最大收益。風(fēng)險(xiǎn)是,你會(huì)購買一種產(chǎn)品,是建立在專有基礎(chǔ)上的,還是建立在開源基礎(chǔ)上的?有了開放源碼,你會(huì)很難選擇哪個(gè)深入學(xué)習(xí)框架是最適合的。在專有的方法中,你的退出策略是什么?我們不應(yīng)以短期來看,因?yàn)椋?strong>人工智能的回報(bào)在于其學(xué)習(xí)能力的成熟度。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多