Torch是一款針對ML演算法且又簡單易用的開源計算框架。該工具提供了高效的GPU支援,N維陣列,數值最佳化例程,線性代數例程以及用於索引、切片和置換的例程。基於Lua的指令碼語言,該工具帶有大量預先訓練好的模型。這款靈活高效的ML研究工具支援諸如Linux,Android,Mac OS X,iOS和Windows等主流平臺。
4.Caffe
/ C ++ / Python介面。該工具允許你在不編寫程式碼的情況下使用文字快速將神經網路應用於問題。Caffe不完全地支援多GPU訓練。該工具支援Ubuntu,Mac OS X和Windows等作業系統。
5.Microsoft CNTK
Microsoft Cognitive Toolkit是具有C#/C++/Python介面支援的最快的深度學習框架之一。此款開源框架帶有強大的C++
下面列舉了十一種常用的機器學習框架。用框架能夠減少模型定義的複雜度,提高開發效率,更好地以問題為導向。具體如何選擇要考慮幾個方面,首先是深度學習還是傳統機器學習,如果是深度學習,則tensorflow是主流,影象這塊可以考慮caffe.如果傳統的用mahout即可。第二,要考慮架構,如果涉及到hadoop,可用sparkmlib,第三,看您熟悉哪種語言,不過主要還是推薦python.有些框架可以共用的,以服務形式對外輸出。我在專案中就是tensonflow和pytorch共用於遙感影象識別。
1.TensorFlow是Google開發的一款開源軟體庫,專為深度學習或人工神經網路而設計。TensorFlow允許你可以使用流程圖建立神經網路和計算模型。它是可用於深度學習的最好維護和最為流行的開源庫之一。TensorFlow框架可以使用C++也可以使用Python。其他類似的基於Python的深度學習框架包括Theano,Torch,Lasagne,Blocks,MXNet,PyTorch和Caffe。你可以使用TensorBoard進行簡單的視覺化並檢視計算流水線。其靈活的架構允許你輕鬆部署在不同型別的裝置上。不利的一面是,TensorFlow沒有符號迴圈,不支援分散式學習。此外,它還不支援Windows。
2. Theano
Theano是一個專為深度學習而設計的Python庫。你可以使用該工具定義和評估數學表示式,包括多維陣列。針對GPU進行了最佳化,該工具具有與NumPy整合,動態C程式碼生成和符號區分等功能。但是,為了獲得高度的抽象,該工具必須與Keras,Lasagne和Blocks等其他庫一起使用。Theano支援Linux,Mac
OS X和Windows等平臺。
3.Torch
Torch是一款針對ML演算法且又簡單易用的開源計算框架。該工具提供了高效的GPU支援,N維陣列,數值最佳化例程,線性代數例程以及用於索引、切片和置換的例程。基於Lua的指令碼語言,該工具帶有大量預先訓練好的模型。這款靈活高效的ML研究工具支援諸如Linux,Android,Mac OS X,iOS和Windows等主流平臺。
4.Caffe
/ C ++ / Python介面。該工具允許你在不編寫程式碼的情況下使用文字快速將神經網路應用於問題。Caffe不完全地支援多GPU訓練。該工具支援Ubuntu,Mac OS X和Windows等作業系統。
5.Microsoft CNTK
Microsoft Cognitive Toolkit是具有C#/C++/Python介面支援的最快的深度學習框架之一。此款開源框架帶有強大的C++
API,比TensorFlow更快、更準確。該工具還支援內建資料讀取器的分散式學習。它支援諸如前饋,CNN,RNN,LSTM和序列到序列等演算法。該工具支援Windows和Linux。
6.Keras
用Python編寫的Keras是一個開源庫,旨在簡化新DL模型的建立。這種高階神經網路API可以在TensorFlow,Microsoft CNTK等深度學習框架之上執行。該工具以其使用者友好性和模組化而聞名,因而非常適合快速原型開發。該工具針對CPU和GPU進行了最佳化。
7. scikit-learn
scikit-learn是一個開源的Python庫,專為機器學習而設計。基於諸如NumPy,SciPy和matplotlib等庫的scikit-learn可用於資料探勘和資料分析。scikit-learn配備了各種ML模型,包括線性和邏輯迴歸器、SVM分類器和隨機森林。該工具可用於多個ML任務,如分類,迴歸和聚類。scikit-learn支援Windows和Linux等作業系統。缺點是,GPU的效率不高。
8. http://Accord.NET
Accord.NET是用C#編寫的ML框架,專為構建生產級計算機視覺、計算機試聽、訊號處理和統計應用程式而設計。它是一個文件記錄良好的ML框架,可以輕鬆實現音訊和影象處理。Accord.NET可用於數值最佳化、人工神經網路和視覺化。它支援Windows。
9. Spark MLlib
Apache Spark的MLIib是一個ML庫,可用於Java,Scala,Python和R語言。因為是專為處理大規模資料而設計的,所以此強大的庫具有許多演算法和實用工具,如分類、迴歸和聚類。該工具在Python和R庫中與NumPy互動操作。它可以輕鬆插入到Hadoop工作流程中。
10. Azure ML Studio
Azure ML Studio是面向資料科學家的現代雲平臺。它可以用於在雲中開發ML模型。 藉助廣泛的建模選項和演算法,Azure非常適合構建較大的ML模型。此服務為每個帳戶提供10GB的儲存空間。它可以與R和Python程式一起使用。
11.Amazon Machine Learning
Amazon Machine Learning (AML) 是一個ML服務,提供用於建立ML模型的工具和嚮導。藉助視覺化輔助功能和易用的分析功能,AML旨在讓開發人員更方便地使用ML。AML可以連線到儲存在Amazon S3、Redshift或RDS中的資料。