據(jù)技術(shù)專家介紹,未來(lái)人工智能和機(jī)器學(xué)習(xí)的前景是光明的。所以,如果開發(fā)者想學(xué)習(xí)一門理想的技能,機(jī)器學(xué)習(xí)是很棒的選擇。本文了解了頂級(jí)的機(jī)器學(xué)習(xí)庫(kù)和開源項(xiàng)目,給出了以下五大優(yōu)秀框架。(排名不分先后)
Apache Singa
Apache Singa由新加坡國(guó)立大學(xué)的團(tuán)隊(duì)開發(fā),是一個(gè)靈活可擴(kuò)展的利用大數(shù)據(jù)分析的深度學(xué)習(xí)平臺(tái)。這個(gè)深度學(xué)習(xí)框架為大量數(shù)據(jù)的可擴(kuò)展分布式培訓(xùn)提供了靈活架構(gòu)。Singa可擴(kuò)展以運(yùn)行各種硬件,主要應(yīng)用在圖像識(shí)別和自然語(yǔ)言處理(NLP)方面。
Singa目前是一個(gè)Apache孵化器項(xiàng)目,提供了簡(jiǎn)單的編程模型,可以在一個(gè)節(jié)點(diǎn)集群上工作。分布式深度學(xué)習(xí)在訓(xùn)練過程中使用模型劃分和并行化,一般而言,Singa支持傳統(tǒng)的機(jī)器學(xué)習(xí)模型,如邏輯回歸。
Singa是用Java,C ++和Python編寫的,可以在AWS上或通過Docker嘗試使用。
Apache Mahout
Apache的另一個(gè)開源產(chǎn)品Apache Mahout是一個(gè)分布式線性代數(shù)框架,用于創(chuàng)建可擴(kuò)展的高性能機(jī)器學(xué)習(xí)應(yīng)用程序,旨在讓數(shù)學(xué)家,統(tǒng)計(jì)學(xué)家和數(shù)據(jù)科學(xué)家快速實(shí)現(xiàn)算法,Mahout主要關(guān)注協(xié)同過濾,聚類和分類。
Apache Mahout使程序員能夠在大數(shù)據(jù)平臺(tái)執(zhí)行的交互式環(huán)境中實(shí)現(xiàn)數(shù)學(xué)運(yùn)算,然后將完全相同的代碼移至應(yīng)用程序并進(jìn)行部署。Mahout Samsara提供了一個(gè)分布式線性代數(shù)和統(tǒng)計(jì)引擎,該引擎不僅性能良好,還可與交互式shell(現(xiàn)在位于Apache Zeppelin中)一起分發(fā),可在生產(chǎn)環(huán)境中鏈接到應(yīng)用程序的庫(kù)。Mahout通常搭載Apache Hadoop平臺(tái)使用map / reduce范例,但這不會(huì)限制對(duì)基于Hadoop實(shí)現(xiàn)的貢獻(xiàn)。
最后,Apache Mahout是用Java和Scala編寫的。
Microsoft Cognitive Toolkit (CNTK)
微軟的認(rèn)知工具包是一個(gè)開源的深度學(xué)習(xí)工具包,用于訓(xùn)練機(jī)器像人腦一樣學(xué)習(xí)算法。CNTK使得用戶可以很容易地使用流行的機(jī)器學(xué)習(xí)模型,如feed-forwards DNN,卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)。
這個(gè)工具毫無(wú)疑問是使用神經(jīng)網(wǎng)絡(luò)處理非結(jié)構(gòu)化數(shù)據(jù)的大數(shù)據(jù)集。憑借更短的培訓(xùn)時(shí)間和易于使用的架構(gòu),CNTK具有高度可定制性,允許程序員選擇自己的參數(shù),算法和網(wǎng)絡(luò)。由于其支持“多機(jī)多GPU”,CNTK很容易勝過其競(jìng)爭(zhēng)對(duì)手。如果有興趣,微軟甚至?xí)峁┮粋€(gè)介紹視頻。
最后,Microsoft CNTK是用Python和C ++編寫的。
Caffe
由伯克利人工智能研究團(tuán)隊(duì)開發(fā)的Caffe是一個(gè)由表達(dá)式,速度和模塊化組成的深度學(xué)習(xí)框架。富有表現(xiàn)力的架構(gòu)鼓勵(lì)應(yīng)用和定制創(chuàng)新,配置選項(xiàng)允許用戶通過設(shè)置一個(gè)標(biāo)志在CPU和GPU之間切換。Caffe的可擴(kuò)展代碼已經(jīng)幫助推動(dòng)了它的早期發(fā)展,使其成為一個(gè)被高度評(píng)價(jià)的GitHub機(jī)器學(xué)習(xí)項(xiàng)目。
Caffe的速度使其對(duì)研究機(jī)構(gòu)和行業(yè)部署都非常有價(jià)值,它是通過卷積神經(jīng)網(wǎng)絡(luò)(CNN)來(lái)開發(fā)用于計(jì)算機(jī)視覺/圖像分類的。Caffe提供一組預(yù)先訓(xùn)練的模型,不需要任何編碼來(lái)實(shí)現(xiàn)。然而,Caffe最適合于構(gòu)建應(yīng)用,并且不是計(jì)算機(jī)視覺以外的任何其他應(yīng)用。
最后,Caffe是用C++編寫的有Python接口的機(jī)器學(xué)習(xí)框架。
TensorFlow
最后一個(gè)是我們最喜歡的機(jī)器學(xué)習(xí)框架,被稱作無(wú)與倫比的TensorFlow框架。 TensorFlow是一個(gè)使用數(shù)據(jù)流圖進(jìn)行數(shù)值計(jì)算的開源軟件庫(kù),是GitHub上最受歡迎的機(jī)器學(xué)習(xí)項(xiàng)目,也是參與者和貢獻(xiàn)者最多的機(jī)器學(xué)習(xí)項(xiàng)目。
無(wú)論是臺(tái)式機(jī),服務(wù)器還是手機(jī),TensorFlow靈活的架構(gòu)都可以使用戶輕松使用單一API將計(jì)算部署到一個(gè)或多個(gè)CPU或GPU。
TensorFlow主要是用Python編寫的,但它也支持Java和Go的一些用法。
結(jié)論
在2018年,Python的持續(xù)增長(zhǎng)肯定與過去幾年機(jī)器學(xué)習(xí)的爆炸式增長(zhǎng)有關(guān)。一些世界上最受歡迎的ML框架和庫(kù)是由Python編寫或主要由Python支持的,包括TensorFlow,Keras,Theano以及sci-kit learn,Chainer,H20,Microsoft Azure Studio,Veles和Neon等小型項(xiàng)目。Python不支持,C ++也支持,比如微軟的CNTK和Caffe。
所以,如果你有興趣學(xué)習(xí)一些ML技能,或者抓住最新的技術(shù)浪潮,那么可能是時(shí)候把舊的Python或C ++教科書甩開,開始實(shí)踐了。