摘要:下圖總結(jié)了絕大多數(shù)上的開源深度學(xué)習(xí)框架項(xiàng)目,根據(jù)項(xiàng)目在的數(shù)量來(lái)評(píng)級(jí),數(shù)據(jù)采集于年月初。然而,近期宣布將轉(zhuǎn)向作為其推薦深度學(xué)習(xí)框架因?yàn)樗С忠苿?dòng)設(shè)備開發(fā)。該框架可以出色完成圖像識(shí)別,欺詐檢測(cè)和自然語(yǔ)言處理任務(wù)。
很多神經(jīng)網(wǎng)絡(luò)框架已開源多年,支持機(jī)器學(xué)習(xí)和人工智能的專有解決方案也有很多。多年以來(lái),開發(fā)人員在Github上發(fā)布了一系列的可以支持圖像、手寫字、視頻、語(yǔ)音識(shí)別、自然語(yǔ)言處理、物體檢測(cè)的機(jī)器學(xué)習(xí)框架,但并沒(méi)有一種框架可以完美地解決你所有的需求。那么該如何選擇最適合你的開源框架呢?希望下面帶有描述的圖表以及分析可以帶給你以啟發(fā),以此來(lái)選擇最適合你的業(yè)務(wù)需求的框架。
下圖總結(jié)了絕大多數(shù)Github上的開源深度學(xué)習(xí)框架項(xiàng)目,根據(jù)項(xiàng)目在Github的Star數(shù)量來(lái)評(píng)級(jí),數(shù)據(jù)采集于2017年5月初。
TensorFlow
TensorFlow框架的前身是Google的DistBelief V2,是谷歌大腦項(xiàng)目的深度網(wǎng)絡(luò)工具庫(kù),一些人認(rèn)為TensorFlow是借鑒Theano重構(gòu)的。
Tensorflow一經(jīng)開源,馬上引起了大量開發(fā)者的跟進(jìn)。Tensorflow廣泛支持包括圖像、手寫字、語(yǔ)音識(shí)別、預(yù)測(cè)和自然語(yǔ)言處理等大量功能。TensorFlow遵循Apache 2.0開源協(xié)議。
TensorFlow在2017年2月15號(hào)發(fā)布了其1.0版本,這個(gè)版本是對(duì)先前八個(gè)不完善版本的整合。以下是TensorFlow取得成功的一些列原因:
TensorFLow提供這些工具:
TensorBroad是一個(gè)設(shè)計(jì)優(yōu)良的可視化網(wǎng)絡(luò)構(gòu)建和展示工具;
TensorFlow Serving通過(guò)保持相同的服務(wù)器架構(gòu)和API,可以方便地配置新算法和環(huán)境。TensorFlow Serving 還提供開箱即用的模型,并且可以輕松擴(kuò)展以支持其他的模型和數(shù)據(jù)。
TensorFlow編程接口包括Python和C++,Java,Go,R和Haskell語(yǔ)言的接口也在alpha版中支持。另外,TensorFlow還支持谷歌和亞馬遜的云環(huán)境。
TensorFlow的0.12版本支持Windows 7, 8, Server 2016系統(tǒng)。由于采用C++ Eigen庫(kù),TensorFlow類庫(kù)可以在ARM架構(gòu)平臺(tái)上編譯和優(yōu)化。這意味著你可以不需要額外實(shí)現(xiàn)模型解碼器或者Python解釋器就可以在多種服務(wù)器和移動(dòng)設(shè)備上部署訓(xùn)練好的模型。
TensorFlow提供細(xì)致的網(wǎng)絡(luò)層使用戶可以構(gòu)建新的復(fù)雜的層結(jié)構(gòu)而不需要自己從底層實(shí)現(xiàn)它們。子圖允許用戶查看和恢復(fù)圖的任意邊的數(shù)據(jù)。這對(duì)復(fù)雜計(jì)算的Debug非常有用。
分布式TensorFlow在0.8版本推出,提供了并行計(jì)算支持,可以讓模型的不同 部分在不同設(shè)備上并行訓(xùn)練。
TensorFlow在斯坦福大學(xué),伯克利學(xué)院,多倫多大學(xué)和Udacity(2016年3月成立的在線學(xué)校)均有教學(xué)。
TensorFlow的缺點(diǎn)有:
每個(gè)計(jì)算流必須構(gòu)建成圖,沒(méi)有符號(hào)循環(huán),這樣使得一些計(jì)算變得困難;
沒(méi)有三維卷積,因此無(wú)法做視頻識(shí)別;
即便已經(jīng)比原有版本(0.5)快了58倍,但執(zhí)行性能仍然不及它的競(jìng)爭(zhēng)者。
Caffe
Caffe是賈揚(yáng)清的作品,目前,賈揚(yáng)清是Facebook AI平臺(tái)的Lead。始于2013年末,Caffe可能是第一個(gè)主流的工業(yè)級(jí)的深度學(xué)習(xí)工具包。Caffe具有卓越的卷積模型,是計(jì)算機(jī)視覺(jué)領(lǐng)域更受歡迎的工具之一,且2014年ImageNet 大賽的獲獎(jiǎng)作品使用的就是Caffe框架。Caffe遵循BSD 2-Clasuse 協(xié)議。
Caffe的高速使得它非常適合于科研和商業(yè)領(lǐng)域。利用一個(gè)NVIDIA K40 GPU,Caffe可以每天處理60M張圖片,即推斷1毫秒一張,訓(xùn)練4毫秒一張。使用的版本,甚至可以更快。
Caffe底層是用C++實(shí)現(xiàn)的,可以在各種設(shè)備上編譯。Caffe是跨平臺(tái)的并且提供Windows接口,它提供C++,Python和Matlab語(yǔ)言接口。Caffe擁有著龐大的用戶社區(qū),并且有大量深度網(wǎng)絡(luò)模型在社區(qū)上貢獻(xiàn),被稱為“Model Zoo”。其中,AlexNet和GoogleNet是最著名的兩個(gè)。
Caffe是視覺(jué)識(shí)別的流行框架,然而Caffe不提供像TensorFlow,CNTK或Theano一樣細(xì)粒度的層結(jié)構(gòu)。你必須編寫底層代碼來(lái)構(gòu)建復(fù)雜的層結(jié)構(gòu)。由于它的固有架構(gòu),Caffe對(duì)循環(huán)網(wǎng)絡(luò)和語(yǔ)言模型的支持不力。
Caffe2
賈揚(yáng)清和他的團(tuán)隊(duì)目前在Facebook致力于Caffe2的研發(fā)。2017年4月18號(hào),F(xiàn)acebook基于BSD協(xié)議開源了Caffe2。Caffe2聚焦于模塊化,在移動(dòng)設(shè)備和大規(guī)模部署均表現(xiàn)出色。和TensorFlow一樣,Caffe2頁(yè)使用C++ Eigen以支持ARM架構(gòu)。
Caffe的模型可以通過(guò)腳本輕松轉(zhuǎn)化成Caffe2模型。Caffe在設(shè)計(jì)上的傾向使得它特別適合視覺(jué)相關(guān)的問(wèn)題,Caffe2沿襲了它對(duì)視覺(jué)問(wèn)題的強(qiáng)大支持,同時(shí)還加入了RNN和LSTM以更好地支持自然語(yǔ)言處理,手寫字識(shí)別和時(shí)間序列預(yù)測(cè)。
可以預(yù)見(jiàn)在不遠(yuǎn)的將來(lái)Caffe2將會(huì)替代Caffe在深度學(xué)習(xí)社區(qū)的地位。
Microsoft Cognitive Toolkit
Microsoft Cognitive Toolkit(CNTK)設(shè)計(jì)的初衷是用于語(yǔ)音識(shí)別領(lǐng)域。CNTK支持RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))和CNN(卷積神經(jīng)網(wǎng)絡(luò)),因此他有能力勝任圖像、手寫字和語(yǔ)音識(shí)別問(wèn)題。CNTK支持64位Linux和Windows系統(tǒng),提供Python和C++語(yǔ)言接口,遵循MIT協(xié)議。
CNTK與TensorFlow和Theano有著類似的設(shè)計(jì)理念——把網(wǎng)絡(luò)定義成向量操作的語(yǔ)義圖,向量操作例如矩陣加法、矩陣乘法以及卷積。同時(shí),CNTK也提供細(xì)粒度的網(wǎng)絡(luò)層設(shè)計(jì),允許用戶使用它們?cè)O(shè)計(jì)新的復(fù)雜網(wǎng)絡(luò)。
和Caffe一樣,CNTK底層也是C++實(shí)現(xiàn)并具有跨平臺(tái)CPU/GPU支持。搭載在Azure GPU Lab上,CNTK能發(fā)揮出較高的分布式計(jì)算性能。目前,CNTK由于不支持ARM架構(gòu),限制了其在移動(dòng)端的應(yīng)用。
MXNet
MXNet源自于卡內(nèi)基梅隆大學(xué)和華盛頓大學(xué)。MXNet是一個(gè)極具特色,可編程,可擴(kuò)展的深度學(xué)習(xí)框架。MXNet可以混合多種語(yǔ)言的模型和代碼,包括Python, C++, R, Scala, Julia, Matlab, JavaScript。2017年1月30號(hào),MXNet被納為Apache基金會(huì)孵化項(xiàng)目。
MXNet支持CNN、RNN、LSTM, 提供對(duì)圖像,手寫字,語(yǔ)音識(shí)別,預(yù)測(cè)和自然語(yǔ)言問(wèn)題的強(qiáng)大支持。有人認(rèn)為,MXNet是世界上較好的圖像分類器。
MXNet具有出色的可擴(kuò)展性,例如GPU并行計(jì)算,存儲(chǔ)映像,高速開發(fā)和可移植性。另外,MXNet可以和Apache Hadoop YARN結(jié)合,YARN是一個(gè)通用分布式應(yīng)用管理框架,這一特性使得MXNet成為TensorFlow的競(jìng)爭(zhēng)者。
MXNet的一個(gè)獨(dú)特之處是它是少有的幾個(gè)支持對(duì)抗生成網(wǎng)絡(luò)(GAN)的框架之一。這個(gè)模型被用于實(shí)驗(yàn)經(jīng)濟(jì)學(xué)方法中的“納什均衡”。
另一個(gè)特殊之處是,亞馬遜的CTO Werner Vogels宣布了對(duì)MXNet的支持:“今天,我們宣布MXNet將成為亞馬遜的深度學(xué)習(xí)框架選擇。我們將在現(xiàn)有和未來(lái)將出現(xiàn)的服務(wù)中使用MXNet。”蘋果公司的部分傳聞也表示該公司將會(huì)使用MXNet作為其深度學(xué)習(xí)框架。
Torch
Torch由Facebook的Royan Collobert、Soumith Chintala、曾任于Twitter現(xiàn)任于Nvidia的Clement Farabet和Google Deep Mind 的Koray Kavukcuoglu共同開發(fā)。其主要貢獻(xiàn)者是Facebook、Twitter和Nvidia。 Torch遵守BSD 3 clause 開源協(xié)議。然而,F(xiàn)acebook近期宣布將轉(zhuǎn)向Caffe2作為其推薦深度學(xué)習(xí)框架因?yàn)樗С忠苿?dòng)設(shè)備開發(fā)。
Torch由Lua語(yǔ)言實(shí)現(xiàn),Lua是一種小眾語(yǔ)言,因此若你不熟悉這門語(yǔ)言,會(huì)影響到整個(gè)工作的效率。
Torch缺少像TensorFlow、MXNet on YARN和Deeplearning4J那樣的的分布式支持,缺少多種語(yǔ)言接口同樣限制了它的受眾。
DeepLearning4J
DeepLearning4J(DL4J)是基于Apache 2.0協(xié)議的分布式開源神經(jīng)網(wǎng)絡(luò)類庫(kù),它由Java和Scala實(shí)現(xiàn)。DL4J是SkyMind的Adam Gibson開發(fā)的,它是的商品級(jí)深度學(xué)習(xí)網(wǎng)絡(luò),可以和Hadoop、Spark結(jié)合構(gòu)建多用戶多線程服務(wù)。DL4J是使用Map-Reduce訓(xùn)練網(wǎng)絡(luò)而使用其他類庫(kù)進(jìn)行大規(guī)模矩陣操作的框架。
DL4J擁有內(nèi)建的GPU支持,這一重要特性能夠支持YARN上的訓(xùn)練過(guò)程。DL4J擁有豐富的深度神經(jīng)網(wǎng)絡(luò)架構(gòu)支持,包括RBM,DBN,CNN,RNN,RNTN和LSTM。DL4J還支持一個(gè)向量計(jì)算庫(kù)——Canova。
由于是由Java實(shí)現(xiàn),DL4J先天比Python塊,它使用多GPU執(zhí)行圖像識(shí)別任務(wù)和Caffe一樣快。該框架可以出色完成圖像識(shí)別,欺詐檢測(cè)和自然語(yǔ)言處理任務(wù)。
Theano
Theano主要由蒙特利爾大學(xué)學(xué)習(xí)算法研究所(MILA)創(chuàng)立。Yoshua Bengio是Theano的開創(chuàng)者,同時(shí)領(lǐng)導(dǎo)這個(gè)實(shí)驗(yàn)室,該實(shí)驗(yàn)室在深度學(xué)習(xí)研究領(lǐng)域做出巨大的貢獻(xiàn),培養(yǎng)出約100名相關(guān)學(xué)生和從業(yè)者。Theano支持高效機(jī)器學(xué)習(xí)算法的快速開發(fā),遵守BSD開源協(xié)議。
Theano不像TensorFlow那樣優(yōu)雅,但它提供了支持循環(huán)控制(被稱為scan)的API,可以輕松實(shí)現(xiàn)RNN。
Theano提供多種支持手寫字識(shí)別、圖像分類(包括醫(yī)學(xué)圖像)的卷積模型。Theano還提供三維卷積和池化用于視頻分類。在語(yǔ)言方面,Theano能勝任例如理解、翻譯和生成等自然語(yǔ)言處理任務(wù)。Theano還支持生成對(duì)抗網(wǎng)絡(luò)(GAN),GAN即是由MILA的一位學(xué)生提出的。
Theano支持多GPU并行計(jì)算并且自帶分布式框架。Theano只支持一種開發(fā)語(yǔ)言,比TensorFlow速度快很多,是一種學(xué)術(shù)研究的有力工具。然而,其不支持移動(dòng)平臺(tái)以及沒(méi)有多種語(yǔ)言接口的缺陷限制了它在企業(yè)的廣泛應(yīng)用。
開源與專利軟件之爭(zhēng)
隨著深度學(xué)習(xí)逐漸成熟,可以預(yù)知到我們將見(jiàn)證TensorFlow,Caffe2和MXNet的競(jìng)賽。同時(shí),軟件供應(yīng)商也在提供先進(jìn)的AI產(chǎn)品使你從數(shù)據(jù)中獲取更多價(jià)值。問(wèn)題是:你會(huì)購(gòu)買帶有專利的AI產(chǎn)品還是使用開源框架。如果使用開源框架,你將會(huì)面臨哪種框架最適合你的問(wèn)題的選擇困難。而選擇專利軟件,你又將怎樣制定退出策略?任何一種選擇都需要長(zhǎng)遠(yuǎn)考慮。
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識(shí)
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/4531.html
摘要:作為年最具潛力,乃至最具影響力的前端開源項(xiàng)目真的不為過(guò)。通過(guò)上的介紹,這個(gè)項(xiàng)目是偏右阿里的前端大牛和阿里的前端大牛主導(dǎo),而且從中也不難看出有些部分是來(lái)自參與過(guò)的項(xiàng)目。 showImg(https://segmentfault.com/img/bVH8b2?w=900&h=500); 在2016年,前端的開源世界越發(fā)精彩,Vue的不斷壯大,Angular 2的發(fā)布,Amaze UI 3....
摘要:作為年最具潛力,乃至最具影響力的前端開源項(xiàng)目真的不為過(guò)。通過(guò)上的介紹,這個(gè)項(xiàng)目是偏右阿里的前端大牛和阿里的前端大牛主導(dǎo),而且從中也不難看出有些部分是來(lái)自參與過(guò)的項(xiàng)目。 showImg(https://segmentfault.com/img/bVH8b2?w=900&h=500); 在2016年,前端的開源世界越發(fā)精彩,Vue的不斷壯大,Angular 2的發(fā)布,Amaze UI 3....
摘要:作為年最具潛力,乃至最具影響力的前端開源項(xiàng)目真的不為過(guò)。通過(guò)上的介紹,這個(gè)項(xiàng)目是偏右阿里的前端大牛和阿里的前端大牛主導(dǎo),而且從中也不難看出有些部分是來(lái)自參與過(guò)的項(xiàng)目。 showImg(https://segmentfault.com/img/bVH8b2?w=900&h=500); 在2016年,前端的開源世界越發(fā)精彩,Vue的不斷壯大,Angular 2的發(fā)布,Amaze UI 3....
摘要:通過(guò)對(duì)比各項(xiàng)目過(guò)去個(gè)月在上新增數(shù)量,來(lái)評(píng)估其在年度的受關(guān)注程度,進(jìn)而選出年度領(lǐng)域崛起的明星項(xiàng)目。也許正因?yàn)樯鲜鲎詈笠稽c(diǎn),在中國(guó)擁有大量的擁躉。不僅被中國(guó)最大的電商平臺(tái)阿里巴巴使用,也獲得了與這些公司青睞。 共 4741 字,讀完需 8 分鐘,速讀 2 分鐘。我有幸參與了該項(xiàng)目的部分中文版翻譯、校對(duì)工作,感謝 Sacha Grief,Micheal Ramberu 的統(tǒng)計(jì)整理,以及 Fr...
平日學(xué)習(xí)接觸過(guò)的網(wǎng)站積累,以每月的形式發(fā)布。2017年以前看這個(gè)網(wǎng)址:http://www.kancloud.cn/jsfron... 03月份前端資源分享 1. Javascript 175453545 Redux compose and middleware 源碼分析 深入 Promise(二)——進(jìn)擊的 Promise Effective JavaScript leeheys blog -...
閱讀 3536·2021-09-10 10:51
閱讀 2507·2021-09-07 10:26
閱讀 2481·2021-09-03 10:41
閱讀 810·2019-08-30 15:56
閱讀 2896·2019-08-30 14:16
閱讀 3488·2019-08-30 13:53
閱讀 2102·2019-08-26 13:48
閱讀 1911·2019-08-26 13:37