開發者必備:基于Linux生態的十大AI開源框架盤點

分類:技術 時間:2017-01-13

前不久,雷鋒網 (公眾號:雷鋒網) 曾盤點了一系列機器學習相關的開源平臺,包括谷歌的TensorFlow、微軟的CNTK以及百度的PaddlePaddle等等(詳情見文末“相關閱讀”)。這些平臺各具特點,其中某些已經在業內得到了廣泛認可和應用。

與此前不同,本文將從開發者的角度出發,特別是針對開發者中為數眾多的Linux系統和Mac系統用戶,奉上一篇針對泛Linux生態的頂級人工智能開源工具盤點(當然,有些工具也并非只兼容Linux)。

1. Deeplearning4j:為Java用戶量身定制

Deeplearning4j(Deep Learning For Java)是Java和Scala環境下的一個開源分布式的深度學習項目,由總部位于美國舊金山的商業智能和企業軟件公司Skymind牽頭開發,并得到了騰訊的投資。正如它的命名,Deeplearning4j的運行需要Java虛擬機JVM的支持。

Deeplearning4j團隊在官網表示,他們希望通過一些深度學習算法的開發,將商業帶入智能化數據的時代。也正是為了實現這一理想,惠及更多的用戶,因此選擇了移植性更好的Java環境來實現這些算法。目前,Deeplearning4j的這些算法已經在谷歌、Facebook和微軟等平臺得到了廣泛應用。

值得一提的是,為了便于開發者自由定制,Deeplearning4j已經開放了盡可能多的算法調節接口,并對接口參數做出了詳盡解釋。同時,Deeplearning4j團隊還開發了針對矩陣運算的ND4J和ND4S庫(N-Dimensional Arrays for Java/Scala),同樣需要JVM的支持。

Deeplearning4j遵循Apache 2.0開源協議,提供了基于AWS云服務的GPU運算支持,以及微軟服務器框架的支持。

官網: http://deeplearning4j.org/

2. Caffe:廣受歡迎的深度學習框架

Caffe的全稱是 “Convolution Architecture For Feature Extraction”,意為“用于特征提取的卷積架構”,主要開發者來自伯克利大學的視覺與學習中心(Berkeley Vision and Learning Center,BVLC),基于BSD 2-Clause開源許可協議發布。

Caffe是業內著名的深度學習框架, 根據官網介紹 ,其主要特點是:運算速度快(官方顯示在單片NVIDIA K40 GPU的運算能力下,Caffe每天可以處理超過60M的圖片數據),模塊定制方便(在CPU或GPU之間的轉換只需要簡單修改一下參數設定),擴展能力強大(目前有超過一千名開發者基于Caffe開發了分支版本 ),以及豐富的社區支持(Caffe已經被授權給各種研究機構、初創公司和工業集團),因此特別適合于神經網絡建模和圖像處理任務。

官網: http://caffe.berkeleyvision.org/

3. H2O:企業級機器學習框架

H2O(即水的化學式)是一個開源、快速、可擴展的分布式機器學習框架,同時提供了大量的算法實現。它支持深度學習、梯度推進(Gradient Boosting)、隨機森林(Random Forest)、廣義線性模型(即邏輯回歸,彈性網絡)等各種機器學習算法。

H2O框架的核心代碼由Java編寫,數據和模型通過分布式的key/value存儲在各個集群節點的內存中,算法使用Map/Reduce框架實現,并使用了Java中的Fork/Join機制來實現多線程。

H2O是一個更關注企業用戶的人工智能分析工具,它聚焦于為掌握大量數據的企業用戶提供快速精準的預測分析模型,從海量數據中提取有助于商業決策的信息。

根據H2O官方的數據,目前已經有超過7萬名數據科學家和8萬家組織機構成為了H2O平臺的忠實擁躉。

官網: http://www.h2o.ai/

4. MLlib:基于Spark框架的機器學習算法實現庫

MLlib是Apache開源項目Spark針對一些常用的機器學習算法的實現庫,同時也包括了相關的測試程序和數據生成器。

按照官網的描述,MLlib的主要特點是易用(天生兼容Spark框架的API接口和Python、Java、Scala等多種語言)、高性能(依靠Spark的數據管理能力,運行迭代和邏輯回歸算法時比Hadoop框架快100倍)和易于部署(可以直接在現有的Hadoop數據集群上運行)。

MLlib目前支持分類、回歸、推薦、聚類、生存分析等多種機器學習算法。

官網: https://spark.apache.org/mllib/

5. Apache Mahout:Hadoop廣泛采用的機器學習開源框架

Apache Mahout同樣也是一個Apache開源項目,與MLlib相對應,Mahout是應用在Hadoop平臺下的機器學習開源框架。

Mahout有如下三個主要特點:

1) 提供簡單、可擴展的編程環境和框架;

2) 同時為Scala Apache Spark、H2O以及Apache Flik平臺提供打包好的算法實現;

3) 支持R語言的語法規則進行矩陣計算。

官網: http://mahout.apache.org/

6. OpenNN:專注神經網絡的實現庫

OpenNN的全稱為“Open Neural Networks Library”,即開源神經網絡庫,其核心代碼由C 編寫,從名字就可以看出,其主要面向深度學習領域,助力于用戶構建各種不同的神經網絡模型。

據官方描述,OpenNN可用于實現監督學習場景中任何層次的非線性模型,同時還支持各種具有通用近似屬性的神經網絡設計。

除了模型的多層支持外,OpenNN最主要優勢還在于強大的性能表現。具體來說就是,OpenNN能夠通過C 語言實現的核心代碼高效地調節內容使用,通過OpenMP庫很好地平衡多線程CPU調用,以及通過CUDA工具對GPU進行加速。

官網: http://www.opennn.net/

7. Oryx 2:重新設計了Lambda架構

Oryx 2是Oryx項目的2.0版,前身名為 Myrrix,后來被大數據公司 Cloudera 收購,才改名為 Oryx。

Oryx 2.0關注于大規模機器學習/預測分析基礎框架的實時表現,它基于Apache Spark和Apache Kafka框架開發,并重新設計了Lambda架構,使得層次之間的復用性更強。

2.0版相比之前實現了更多算法,包括ALS協同過濾、隨機森林、以及K-means 等。

官網: http://oryx.io/

8. OpenCyc:全球最龐大、最完備的通用型知識庫與常識推理引擎

OpenCyc是Cycorp公司推出的一個基于Cyc的開源版本,而Cyc是目前全球最龐大、最完備的通用型知識庫與常識推理引擎。

OpenCyc包含數十萬個精心組織的Cyc詞條。Cycorp公司不但免費提供OpenCyc,同時也鼓勵開發者基于OpenCyc開發針對于特定應用領域的分支版本。

目前,OpenCyc已經被成功應用在大數據建模、語言數據整合、智能文本理解、特定領域的專家系統建模和人工智能游戲。

官網: http://www.cyc.com/platform/opencyc/

9. Apache SystemML:專注于大數據分析的開源機器學習平臺

SystemML是一個利用機器學習算法進行大數據分析的開源AI平臺,其主要特點是支持R語言和Python的語法,專注于大數據分析領域,以及專門為高階數學計算設計。

按照官網的介紹,Apache SystemML基于Apache Spark框架運行,其最大的特點就是能夠自動、逐行地評估數據,并根據評估結果確定用戶的代碼應該直接運行在驅動器上還是運行在Apache Spark集群上。

除了Apache Spark之外,SystemML還支持Apache Hadoop、Jupyter和Apache Zeppelin等多個平臺。目前,SystemML技術已經成功應用在交通、航空和金融等多個領域。

官網: http://systemml.apache.org/

10. NuPIC:基于層級實時存儲算法的機器智能平臺

NuPIC是一個與眾不同的開源機器智能平臺,它基于一種大腦皮層理論,即“層級實時存儲算法”(Heirarchical Temporary Memory,HTM)。NuPIC聚焦于分析實時數據流,可以通過學習數據之間基于時間的狀態變化,對未知數據進行預測,并揭示其中的非常規特性。

NuPIC關鍵的功能特性包括:

1) 持續的在線學習:NuPIC模型可以持續根據快速變化的數據流進行實時調整;

2) 時間和空間分析:像人腦一樣,NuPIC可以同時模擬時間和空間的變化;

3) 實時的數據流分析:智能化的數據分析不會隨著數據量的增加而改變;

4) 預測和建模:通過通用性的大腦皮層算法,對數據進行預測、建模和學習;

5) 強大的異常檢測能力:實時檢測數據流的擾動,不依靠僵化的閾值設置和過時的算法;

6) 層級實時存儲算法:支持全新的HTM計算架構。

官網: http://numenta.org/

由于2016僅僅是人工智能走向主流的元年,未來隨著技術的進一步發展和革新,勢必會出現更多、更豐富的開發工具。這里值得注意的一點是:工具的意義不僅在于解決了日常研發中遇到的各種問題,更在于降低了開發的難度,引導了更多人投入到人工智能的研發之中。 雷鋒網

來源: tecmint ,雷鋒網編譯

相關閱讀:

BAT 在下一盤大棋?深度盤點國內四大機器學習開源平臺

盤點四大民間機器學習開源框架:Theano、Caffe、Torch 和 SciKit-learn

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

雷鋒網版權文章,未經授權禁止轉載。詳情見 轉載須知


Tags: 數據挖掘 開源 Linux

文章來源:http://www.leiphone.com/news/201701/hpf5vFGeuWwAb9


ads
ads

相關文章
ads

相關文章

ad