用於Web開發的TOP5機器學習框架盤點
在本文中,我們將討論一些用於Web開發的主要機器學習框架,例如TensorFlow和Caffe。
目前,機器學習是軟體開發中最熱門的趨勢之一。許多分析師甚至認為,機器學習將徹底改變幾個程序的Web開發過程,包括Web和移動應用程序。
以下幾點清楚地表明了機器學習對Web開發的強大影響:
- 傳統數據挖掘的良好替代品
- 消除安全威脅
- 機器學習API的庫存
- 加速產品發現
- 製作定製的內容和信息
- 了解客戶行為
機器學習使用一些演算法使計算機無需明確編程即可學習。它是最好的數據分析方法,可自動創建分析模型。這就是機器學習框架在Web開發中發揮重要作用的原因。
在本文中,我們將討論一些用於Web開發的主要機器學習框架。清單如下:
五大機器學習框架
1. Microsoft Cognitive Toolkit
用:Python和C ++編寫
這是Microsoft開源的深度學習工具包,用於訓練演算法以像人腦一樣學習。通過使用此工具,您可以使用各種機器學習模型,如卷積神經網路、前饋DNN和循環神經網路。
毫無疑問,該工具旨在使用神經網路來瀏覽大型非結構化數據集。通過更快的訓練時間和易於使用的架構,它可高度自定義,允許您選擇自己的參數、網路和演算法。特別感謝它對多機多GPU後端的支持,它可以輕鬆超越許多競爭對手。
點擊試:https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-CNTK-on-your-machine
2. TensorFlow
用:Python、Java和Go編寫
它是Java開發中最流行的機器學習框架之一。它是一個開源庫,使用數據流圖進行數值計算。毫無疑問,TensorFlow是GitHub上分岔最多的機器學習項目,也是納稅人參與人數最多的項目。
TensorFlow的靈活架構使用戶可以輕鬆地使用單個API在一個或多個GPU或CPU上實現計算,無論是台式計算機、伺服器還是行動電話。
圖中的節點表示數學運算,而圖的邊表示在它們之間傳遞的多維數據集(張量)。
在這裡試試:https://www.tensorflow.org
3. Apache Mahout
用:Java和Scala編寫
它是Apache提供的另一個最受歡迎的開源產品,主要面向統計學家、數據科學家和數學家,因此他們可以快速執行自己的演算法。此外,它是一個分散式線性代數框架,用於創建具有可擴展性能的機器學習應用程序。 Mahout主要關注協作分組、過濾和分類。
此外,它使您能夠在實際在大數據平台上運行的互動式環境中開發自己的數學計算,然後將完全相同的代碼移動到您的應用程序中並實現。
Mahout Samsara還提供分散式線性代數和統計引擎,它們正在運行,並與互動式shell和庫一起分發,以鏈接到生產中的應用程序。它通常使用map / reduce範例爬上Apache Hadoop平台,但這並不限制對基於Hadoop的其他實現的貢獻。
在這裡試試:https://github.com/apache/mahout
4. Caffe
用:C ++和Python編寫
它是Java開發的深度學習框架,尤其適用於速度、表達式和模塊化。它由Berkley AI研究團隊開發。富有表現力的架構鼓勵個性化應用和創新。
此外,配置選項允許用戶通過配置單個指示器在GPU和CPU之間切換。Caffe的可擴展代碼幫助推動了它的早期發展,使其成為另一個非常成功的GitHub機器學習項目。
Caffe的速度使其對研究機構和工業實施具有價值。它是利用卷積神經網路為圖像分類/計算機視覺開發的。它還提供了Model Zoo,它是一組預先訓練的模型,不需要任何編碼即可實現。
無論如何,應該指出的是,Caffe最適合用於應用程序的構建,而不是專門用於除人工視覺之外的任何其他應用。
試試吧:http://caffe.berkeleyvision.org
5. Apache Singa
用:C ++,Python和Java編寫
Apache Singa是一個可擴展且靈活的深度學習平台,用於大數據分析。它由新加坡國立大學的團隊開發。該機器學習框架為大量數據中的可擴展分散式訓練提供了靈活的架構。
可擴展以在各種硬體上運行。主要應用是自然語言處理(NLP)和圖像識別。
目前,Apache孵化器項目提供了一種可以在一組節點中工作的簡單編程模型。深度分散式學習在訓練過程中使用模型共享和並行化。
但是,Singa支持傳統的機器學習模型,如邏輯回歸。
在這裡試試:
Docker(https://hub.docker.com/r/nusdbsystem/singa/)或AWS(https://aws.amazon.com/marketplace/pp/B01NAUAWZW)
結論
所以我們已經看到了一些用於Java開發的頂級機器學習框架。實際上,使用機器學習進行Web開發將使IT世界發生革命性變化。但是,各種流行的機器學習框架和庫都是由Python編寫或主要支持的,包括Keras、Theano、TensorFlow和較小的項目,如Microsoft Azure Studio、sci-kit learn、Veles、Chainer和Neon。
如果您想要使用其中一個機器學習框架開發下一個項目,那麼現在是時候開始了。您還可以從可靠的Web開發公司僱用熟練的ML Web開發人員。


※python3.6 實現AES加密、解密(改版)
※前後端分離「vue + .netcore 補程」之基於Vuex的許可權驗證探究
TAG:程序員小新人學習 |