機器學習的爆炸性增長推動了許多開源工具的發展, 使得開發人員更容易學習其技術。 接下來, 我們來看看開發者最喜歡的Java和Python機器學習框架都有哪些?
據技術專家介紹, 未來人工智慧和機器學習的前景是光明的。 所以, 如果開發者想學習一門理想的技能, 機器學習是很棒的選擇。 本文瞭解了頂級的機器學習庫和開源項目, 給出了以下五大優秀框架。 (排名不分先後)
Apache Singa
Apache Singa由新加坡國立大學的團隊開發, 是一個靈活可擴展的利用大資料分析的深度學習平臺。 這個深度學習框架為大量資料的可擴展分散式培訓提供了靈活架構。 Singa可擴展以運行各種硬體, 主要應用在圖像識別和自然語言處理(NLP)方面。
Singa目前是一個Apache孵化器項目, 提供了簡單的程式設計模型, 可以在一個節點集群上工作。 分散式深度學習在訓練過程中使用模型劃分和並行化, 一般而言,
Singa是用Java, C ++和Python編寫的, 可以在AWS上或通過Docker嘗試使用。
Apache Mahout
Apache的另一個開源產品Apache Mahout是一個分散式線性代數框架, 用於創建可擴展的高性能機器學習應用程式, 旨在讓數學家, 統計學家和資料科學家快速實現演算法, Mahout主要關注協同過濾, 聚類和分類。
Apache Mahout使程式師能夠在大資料平臺執行的互動式環境中實現數學運算, 然後將完全相同的代碼移至應用程式並進行部署。 Mahout Samsara提供了一個分散式線性代數和統計引擎, 該引擎不僅性能良好, 還可與互動式shell(現在位於Apache Zeppelin中)一起分發, 可在生產環境中連結到應用程式的庫。 Mahout通常搭載Apache Hadoop平臺使用map / reduce範例, 但這不會限制對基於Hadoop實現的貢獻。
最後, Apache Mahout是用Java和Scala編寫的。
Microsoft Cognitive Toolkit (CNTK)
微軟的認知工具包是一個開源的深度學習工具包,
這個工具毫無疑問是使用神經網路處理非結構化資料的大資料集。 憑藉更短的培訓時間和易於使用的架構, CNTK具有高度可定制性, 允許程式師選擇自己的參數, 演算法和網路。 由於其支持“多機多GPU”, CNTK很容易勝過其競爭對手。 如果有興趣, 微軟甚至會提供一個介紹視頻。
最後, Microsoft CNTK是用Python和C ++編寫的。
Caffe
由伯克利人工智慧研究團隊開發的Caffe是一個由運算式, 速度和模組化組成的深度學習框架。 富有表現力的架構鼓勵應用和定制創新, 配置選項允許使用者通過設置一個標誌在CPU和GPU之間切換。
Caffe的速度使其對研究機構和行業部署都非常有價值, 它是通過卷積神經網路(CNN)來開發用於電腦視覺/圖像分類的。 Caffe提供一組預先訓練的模型, 不需要任何編碼來實現。 然而, Caffe最適合於構建應用, 並且不是電腦視覺以外的任何其他應用。
最後, Caffe是用C++編寫的有Python介面的機器學習框架。
TensorFlow
最後一個是我們最喜歡的機器學習框架, 被稱作無與倫比的TensorFlow框架。 TensorFlow是一個使用資料流程圖進行數值計算的開源軟體庫, 是GitHub上最受歡迎的機器學習項目, 也是參與者和貢獻者最多的機器學習項目。
無論是桌上型電腦, 伺服器還是手機, TensorFlow靈活的架構都可以使用戶輕鬆使用單一API將計算部署到一個或多個CPU或GPU。
TensorFlow主要是用Python編寫的, 但它也支持Java和Go的一些用法。
結論
在2018年, Python的持續增長肯定與過去幾年機器學習的爆炸式增長有關。 一些世界上最受歡迎的ML框架和庫是由Python編寫或主要由Python支持的, 包括TensorFlow,Keras,Theano以及sci-kit learn,Chainer,H20,Microsoft Azure Studio,Veles和Neon等小型項目。Python不支持,C ++也支持,比如微軟的CNTK和Caffe。
所以,如果你有興趣學習一些ML技能,或者抓住最新的技術浪潮,那麼可能是時候把舊的Python或C ++教科書甩開,開始實踐了。
包括TensorFlow,Keras,Theano以及sci-kit learn,Chainer,H20,Microsoft Azure Studio,Veles和Neon等小型項目。Python不支持,C ++也支持,比如微軟的CNTK和Caffe。所以,如果你有興趣學習一些ML技能,或者抓住最新的技術浪潮,那麼可能是時候把舊的Python或C ++教科書甩開,開始實踐了。