1. 程式人生 > >矽谷大牛推薦11款機器學習工具,國內程式設計師們學起來!

矽谷大牛推薦11款機器學習工具,國內程式設計師們學起來!

良好的ML框架降低了定義ML模型的複雜性。 使用這些開源ML框架,您可以輕鬆快速地構建ML模型。在過去十年中,人工智慧的迅速崛起刺激了當今就業市場對AI和ML技能的巨大需求。基於ML的技術現在幾乎用於所有垂直行業,從金融到醫療保健。在本文中,我編譯了一個可用於構建機器學習模型的最佳框架和庫的列表。

1. TensorFlow

TensorFlow由Google開發,是一個為深度學習或人工神經網路而構建的開源軟體庫。使用TensorFlow,您可以使用流程圖建立神經網路和計算模型。它是深度學習中維護最好,最受歡迎的開源庫之一。

TensorFlow框架以C ++和Python提供。其他類似的基於Python的深度學習框架包括Theano,Torch,Lasagne,Blocks,MXNet,PyTorch和Caffe。您可以使用TensorBoard輕鬆實現視覺化並檢視計算管道。其靈活的架構允許您輕鬆部署在不同型別的裝置上。從消極方面來說,TensorFlow沒有符號迴圈,也不支援分散式學習。此外,它不支援Windows。

說起TensorFlow的應用,谷歌的AIY專案可以作為一個機器學習的案例來說了。AIY系列專案(全稱是Artificial Intelligence Yourself),鼓勵開發者們和愛動手的技術發燒友自己在家搭建AI小硬體。

2. Theano

Theano是一個專為深度學習而設計的Python庫。 使用該工具,您可以定義和評估數學表示式,包括多維陣列。 該工具針對GPU進行了優化,具有與NumPy整合,動態C程式碼生成和符號區分等功能。 但是,要獲得高階抽象,該工具必須與其他庫一起使用,例如Keras,Lasagne和Blocks。 該工具支援Linux,Mac OS X和Windows等平臺。

3. Torch

Torch是一種易於使用的ML演算法開源計算框架。 該工具提供了高效的GPU支援,N維陣列,數值優化例程,線性代數例程以及用於索引,切片和轉置的例程。 該工具基於一種名為Lua的指令碼語言,具有大量預訓練模型。 這種靈活高效的ML研究工具支援Linux,Android,Mac OS X,iOS和Windows等主要平臺。

4. Caffe

Caffe是一款流行的深度學習工具,專為構建應用而設計。 由楊慶佳在博士期間建立的專案。 在加州大學伯克利分校,該工具具有良好的Matlab / C ++ / Python介面。 該工具允許您使用文字快速將神經網路應用於問題,而無需編寫程式碼。 Caffe部分支援多GPU培訓。 該工具支援Ubuntu,Mac OS X和Windows等作業系統。

5.微軟CNTK

Microsoft Cognitive Toolkit是最快的深度學習框架之一,支援C#/ C ++ / Python介面。 開源框架帶有強大的C ++ API,比TensorFlow更快,更準確。 該工具還支援內建資料讀取器的分散式學習。 它支援諸如前饋,CNN,RNN,LSTM和序列到序列的演算法。 該工具支援Windows和Linux。

6. Keras

Keras是用Python編寫的,它是一個開源庫,旨在簡化新DL模型的建立。 這種高階神經網路API可以在TensorFlow,Microsoft CNTK等深度學習框架之上執行。該工具以其使用者友好性和模組性而聞名,是快速原型設計的理想選擇。 該工具針對CPU和GPU進行了優化。

7. scikit-learn

scikit-learn是一個專為機器學習而設計的開源Python庫。 基於NumPy,SciPy和matplotlib等庫的工具可用於資料探勘和資料分析。 scikit-learn配備了各種ML模型,包括線性和邏輯迴歸量,SVM分類器和隨機森林。 該工具可用於多個ML任務,例如分類,迴歸和聚類。 該工具支援Windows和Linux等作業系統。 在缺點方面,GPU的效率不高。

10. Azure ML Studio

Azure ML Studio是面向資料科學家的現代雲平臺。 它可用於在雲中開發ML模型。 Azure具有廣泛的建模選項和演算法,是構建更大ML模型的理想選擇。 該服務為每個帳戶提供10GB的儲存空間。 它可以與R和Python程式一起使用。

11.亞馬遜機器學習

亞馬遜機器學習(AML)是一項ML服務,提供用於建立ML模型的工具和嚮導。 藉助視覺化輔助工具和易於使用的分析,AML旨在使開發人員更容易使用ML。 AML可以連線到儲存在Amazon S3,Redshift或RDS中的資料。

機器學習框架帶有易於理解和編碼的預構建元件。 因此,良好的ML框架降低了定義ML模型的複雜性。 使用這些開源ML框架,您可以輕鬆快速地構建ML模型。