人工智能(AI)已經(jīng)存在很長(zhǎng)時(shí)間了,。然而,由于這一領(lǐng)域的巨大進(jìn)步,,近年來(lái)它已成為一個(gè)流行語(yǔ),。人工智能曾經(jīng)被稱為一個(gè)完整的書 呆子和天才的領(lǐng)域,但由于各種開發(fā)庫(kù)和框架的發(fā)展,,它已經(jīng)成為一個(gè)友好的IT領(lǐng)域,,并有很多人正走進(jìn)它。 在這篇文章中,,我們將研究用于人工智能的優(yōu)質(zhì)庫(kù),,它們的優(yōu)缺點(diǎn)以及它們的一些特征。讓我們深入并探索這些人工智能庫(kù)的世界,! 1. TensorFlow “使用數(shù)據(jù)流圖表的可伸縮機(jī)器學(xué)習(xí)的計(jì)算” 語(yǔ)言:C ++或Python,。 當(dāng)進(jìn)入AI時(shí),你會(huì)聽到的第一個(gè)框架之一就是Google的TensorFlow,。 TensorFlow是一個(gè)使用數(shù)據(jù)流圖表進(jìn)行數(shù)值計(jì)算的開源軟件,。這個(gè)框架被稱為具有允許在任何CPU或GPU上進(jìn)行計(jì)算的架構(gòu),無(wú)論是臺(tái)式機(jī) ,、服務(wù)器還是移動(dòng)設(shè)備,。這個(gè)框架在Python編程語(yǔ)言中是可用的。 TensorFlow對(duì)稱為節(jié)點(diǎn)的數(shù)據(jù)層進(jìn)行排序,,并根據(jù)所獲得的任何信息做出決定,。點(diǎn)擊查看詳情! 優(yōu)點(diǎn): 使用易于學(xué)習(xí)的語(yǔ)言(Python),。 使用計(jì)算圖表抽象,。 用于TensorBoard的可用性的可視化。 缺點(diǎn): 這很慢,,因?yàn)镻ython不是語(yǔ)言中最快的,。 缺乏許多預(yù)先訓(xùn)練的模型,。 不完全開源。 2. Microsoft CNTK “開源深度學(xué)習(xí)工具包” 語(yǔ)言:C ++,。 我們可以稱之為微軟對(duì)Google的TensorFlow的回應(yīng),。 微軟的計(jì)算網(wǎng)絡(luò)工具包是一個(gè)增強(qiáng)分離計(jì)算網(wǎng)絡(luò)模塊化和維護(hù)的庫(kù),提供學(xué)習(xí)算法和模型描述,。 在需要大量服務(wù)器進(jìn)行操作的情況下,,CNTK可以同時(shí)利用多臺(tái)服務(wù)器。 據(jù)說(shuō)它的功能與Google的TensorFlow相近,;但是,,它會(huì)更快,。在這里 了解更多,。 優(yōu)點(diǎn): 這是非常靈活的。 允許分布式訓(xùn)練,。 支持C ++,、C#、Java和Python,。 缺點(diǎn): 它以一種新的語(yǔ)言——網(wǎng)絡(luò)描述語(yǔ)言(Network Description Language , NDL)來(lái)實(shí)現(xiàn),。 缺乏可視化。 3. Theano “數(shù)值計(jì)算庫(kù)” 語(yǔ)言:Python,。 Theano是TensorFlow的強(qiáng)有力競(jìng)爭(zhēng)者,,是一個(gè)功能強(qiáng)大的Python庫(kù),允許以高效率的方式進(jìn)行涉及多維數(shù)組的數(shù)值操作,。 Theano庫(kù)透明地使用GPU來(lái)執(zhí)行數(shù)據(jù)密集型計(jì)算而不是CPU,,因此操作效率很高。 出于這個(gè)原因,,Theano已經(jīng)被用于為大規(guī)模的計(jì)算密集型操作提供動(dòng)力大約十年,。 然而,在2017年9月,,宣布Theano的主要開發(fā)將于2017年11月發(fā)布的1.0版本后停止,。 這并不意味著它是一個(gè)不夠強(qiáng)大的庫(kù)。你仍然可以隨時(shí)進(jìn)行深入的學(xué)習(xí)研究,。在這里了解更多,。 Theano data-intensive computations 優(yōu)點(diǎn): 正確優(yōu)化CPU和GPU。 有效的數(shù)字任務(wù),。 缺點(diǎn): 與其他庫(kù)相比,,原生Theano有點(diǎn)低級(jí)。 需要與其他庫(kù)一起使用以獲得高度的抽象化,。 AWS上有點(diǎn)bug,。 4. Caffe “快速,、開源的深度學(xué)習(xí)框架” 語(yǔ)言:C ++。 Caffe是一個(gè)強(qiáng)大的深度學(xué)習(xí)框架,。 像這個(gè)清單上的其他框架一樣,,深度學(xué)習(xí)的研究速度非常快,。 借助Caffe,,您可以非常輕松地構(gòu)建用于圖像分類的卷積神經(jīng)網(wǎng)絡(luò)(CNN)。Caffe在GPU上運(yùn)行良好,,這有助于在運(yùn)行期間提高速度。查看主頁(yè)獲取更多信息,。 Caffe主要的類有: main classes 優(yōu)點(diǎn): Python和MATLAB的綁定可用,。 性能表現(xiàn)良好。 無(wú)需編寫代碼即可進(jìn)行模型的訓(xùn)練,。 缺點(diǎn): 對(duì)于經(jīng)常性網(wǎng)絡(luò)不太好,。 新體系結(jié)構(gòu)不太好。 5. Keras “人類的深度學(xué)習(xí)” 語(yǔ)言:Python,。 Keras是一個(gè)用Python編寫的開源的神經(jīng)網(wǎng)絡(luò)庫(kù),。 與TensorFlow、CNTK和Theano不同,,Keras不是一個(gè)端到端的機(jī)器學(xué)習(xí)框架,。 相反,它作為一個(gè)接口,,提供了一個(gè)高層次的抽象化,,這使得無(wú)論它坐落在哪個(gè)框架上,神經(jīng)網(wǎng)絡(luò)的配置都會(huì)變得容易,。 谷歌的TensorFlow目前支持Keras作為后端,,而微軟的CNTK也會(huì)在很短的時(shí)間內(nèi)做到這一點(diǎn)。在這里了解更多,。 優(yōu)點(diǎn): 它是用戶友好的,。 它很容易擴(kuò)展。 在CPU和GPU上無(wú)縫運(yùn)行,。 與Theano和TensorFlow無(wú)縫工作,。 缺點(diǎn): 不能有效地用作獨(dú)立的框架。 6. Torch “一個(gè)開源的機(jī)器學(xué)習(xí)庫(kù)” 語(yǔ)言:C,。 Torch是一個(gè)用于科學(xué)和數(shù)字操作的開源機(jī)器學(xué)習(xí)庫(kù),。 這是一個(gè)基于Lua編程語(yǔ)言而非Python的庫(kù)。 Torch通過(guò)提供大量的算法,使得深度學(xué)習(xí)研究更容易,,并且提高了效率和速度,。它有一個(gè)強(qiáng)大的N維數(shù)組,這有助于切片和索引等操作,。 它還提供了線性代數(shù)程序和神經(jīng)網(wǎng)絡(luò)模型,。點(diǎn)擊查看詳情! 優(yōu)點(diǎn): 非常靈活,。 高水平的速度和效率,。 大量的預(yù)訓(xùn)練模型可用。 缺點(diǎn): 不清楚的文獻(xiàn)記錄,。 缺乏即時(shí)使用的即插即用代碼,。 它基于一種不那么流行的語(yǔ)言——Lua。 7. Accord.NET “機(jī)器學(xué)習(xí),、計(jì)算機(jī)視覺(jué),、統(tǒng)計(jì)和.NET通用科學(xué)計(jì)算” 語(yǔ)言:C#。 這是專為C#程序員設(shè)計(jì)的,。 Accord.NET框架是一個(gè).NET機(jī)器學(xué)習(xí)框架,,使音頻和圖像處理變得簡(jiǎn)單,。 這個(gè)框架可以有效地處理數(shù)值優(yōu)化,、人工神經(jīng)網(wǎng)絡(luò),甚至可視化,。除此之外,,Accord.NET對(duì)計(jì)算機(jī)視覺(jué)和信號(hào)處理的功能非常強(qiáng)大,同時(shí) 也使得算法的實(shí)現(xiàn)變得簡(jiǎn)單,。檢查主頁(yè)面,。 優(yōu)點(diǎn): 它有一個(gè)強(qiáng)大而積極的開發(fā)團(tuán)隊(duì)。 非常有據(jù)可查的框架,。 質(zhì)量可視化,。 缺點(diǎn): 不是一個(gè)非常流行的框架。 比TensorFlow慢,。 8. Spark MLlib “可擴(kuò)展的機(jī)器學(xué)習(xí)庫(kù)” 語(yǔ)言:Scala,。 Apache的Spark MLlib是一個(gè)非常可擴(kuò)展的機(jī)器學(xué)習(xí)庫(kù),。 它非常適用于諸如Java,、Scala、Python,,甚至R等語(yǔ)言,。它非常高效,因?yàn)樗梢耘cPython庫(kù)和R庫(kù)中的numpy進(jìn)行互操作,。 MLlib可以輕松插入到Hadoop工作流程中,。它提供了機(jī)器學(xué)習(xí)算法,,如分類、回歸和聚類,。 這個(gè)強(qiáng)大的庫(kù)在處理大型數(shù)據(jù)時(shí)非??焖佟?/p> 優(yōu)點(diǎn): 對(duì)于大規(guī)模數(shù)據(jù)處理非??焖?。 提供多種語(yǔ)言。 缺點(diǎn): 陡峭的學(xué)習(xí)曲線,。 即插即用僅適用于Hadoop,。 9. Sci-kit Learn “用Python的機(jī)器學(xué)習(xí)” 語(yǔ)言:Python。 Sci-kit learn是一個(gè)非常強(qiáng)大的機(jī)器學(xué)習(xí)Python庫(kù),,主要用于構(gòu)建模型,。 使用numpy、SciPy和matplotlib等其他庫(kù)構(gòu)建,,對(duì)統(tǒng)計(jì)建模技術(shù)(如分類,、回歸和聚類)非常有效。 Sci-kit learn帶有監(jiān)督學(xué)習(xí)算法,、無(wú)監(jiān)督學(xué)習(xí)算法和交叉驗(yàn)證等功能,。點(diǎn)擊查 看詳情! 優(yōu)點(diǎn): 許多主要算法的可用性,。 有效的數(shù)據(jù)挖掘,。 缺點(diǎn): 不是構(gòu)建模型的最佳選擇。 GPU效率不高,。 10. MLPack “可擴(kuò)展的C ++機(jī)器學(xué)習(xí)庫(kù)” 語(yǔ)言:C ++,。 MLPack是一個(gè)用C ++實(shí)現(xiàn)的可擴(kuò)展的機(jī)器學(xué)習(xí)庫(kù)。因?yàn)樗怯肅 ++編寫的,,所以你可以猜測(cè)它對(duì)于內(nèi)存管理是非常好的,。 MLPack以極高的速度運(yùn)行,因?yàn)楦哔|(zhì)量的機(jī)器學(xué)習(xí)算法與庫(kù)一起出現(xiàn),。這個(gè)庫(kù)是對(duì)新手友好的,,并提供了一個(gè)簡(jiǎn)單的API使用。點(diǎn)擊查看詳情,! 優(yōu)點(diǎn): 非??蓴U(kuò)展。 Python和C ++綁定可用,。 缺點(diǎn): 不是最好的文獻(xiàn)記錄,。 |
|
來(lái)自: 星光閃亮圖書館 > 《機(jī)器學(xué)習(xí)與人工智能》