用於Web開發的5種機器學習框架
目前,機器學習是軟體開發中最熱門的領域之一。甚至許多專家分析,認為機器學習將會徹底改變包括Web應用和移動應用在內的軟體開發過程。
以下所列的幾個方面可以清楚地說明機器學習對Web開發的重大影響:
· 可以很好的替代傳統資料探勘
· 可以避免安全威脅
· 豐富的機器學習API庫
· 加速產品發展
· 生產定製的內容和資訊
· 瞭解使用者行為
機器學習通過一些演算法可以在沒有顯式程式設計的情況下,讓計算機進行自行學習。並且可以找到最優的資料分析方法,自動建立分析模型。這就是為什麼機器學習框架在Web開發中起著重要作用的原因。
在本文中,我們將討論一些主要用於Web開發的機器學習框架。下面會一一進行說明。
5大機器學習框架:
1) Microsoft Cognitive Toolkit
開發語言:Python和C++
這是一個開源的深度學習工具包,是微軟公司專門用來訓練演算法的,以便讓機器像人腦一樣學習。通過這個工具,你可以使用各種機器學習模型,如卷積神經網路、前饋DNN和遞迴神經網路。
毫無疑問,這個工具主要使用神經網路來檢查大型非結構化資料集,給開發者提供現成的神經網路程式碼。它有更短的訓練時間和易於使用的體系結構,並且是高度可定製化的,允許選擇引數、網路和演算法。並且,它支援多機多GPU的後端叢集模式。
2)TensorFlow
開發語言:Python、Java和Go
TensorFlow是在Java開發中最流行的機器學習框架之一。它是一個開源的庫,使用了資料流圖進行數值計算,將複雜的資料結構傳輸至神經網路中進行分析和處理。毫無疑問,TensorFlow是在GitHub上分支最多的機器學習專案,並且也是投資人蔘與最多的專案。
TensorFlow具有靈活的體系結構,讓使用者能夠很容易地利用單一的API庫在一個或多個GPU或CPU上實現分散式計算,而不管是在臺式計算機、伺服器還是行動電話上。
上圖中的節點代表了數值運算,而圖的邊緣則表示它們之間通訊的多維資料集(張量)。TensorFlow為張量從資料流圖的一端流動到另一端的過程進行計算。
3)Apache Mahout
開發語言:Java和 Scala
這是Apache提供的另一個最流行的原始碼開放資源庫,主要是為統計學專家、資料專家和數學專家而設計的,為了讓他們能夠更快速、更高效地執行演算法操作。另外,它是一種分散式線性代數框架,用於建立具有可擴充套件效能的機器學習應用。Mahout主要被用於協作分組、過濾和分類幾個方面。
此外,它還使你能夠在實際執行在大資料平臺上的互動式環境中開發自己的數學計算模型,然後可以將相同的程式程式碼移植到其它應用程式中進行復用。
Mahout Samsara還提供了分散式線性代數以及正在執行的統計引擎,並與互動式Shell和庫一起進行分發,以連線到在生產中的應用。利用Apache Hadoop 庫,它可以應用map/reduce模式到Apache Hadoop平臺,但這並不會對Hadoop上其它那些實現產生影響。
4)Caffe
開發語言:C++和Python
Caffe是一個基於Java語言的關於深度學習的框架,特別是針對執行速度、表示能力和模組化幾個方面。它是由伯克利大學人工智慧研究小組開發的,極具表現力的體系結構更加支援個性化的應用和創新。
另外,Caffe提供的配置選項允許使用者通過配置單個指示器在GPU和CPU之間進行無縫切換。它提供的可擴充套件程式碼促進了早期的發展,使其成為另一個非常成功的GitHub機器學習專案。
Caffe的速度對研究機構和工業級應用方面做出了很大的貢獻。它是利用了卷積神經網路來實現影像分類/計算機視覺的。它還提供了Model Zoo,這是一組預訓練的模型,並且不需要任何編碼來實現。
應該指出的是,Caffe最適用於應用系統的構造,並且主要應用於計算機視覺領域。
5)Apache Singa
開發語言:C++、Python和Java.
Apache Siga是一個可擴充套件的、靈活的、用來簡化在大資料上訓練深度學習模型的開源框架。它是由新加坡國立大學的團隊開發的,主要應用於大資料分析領域。該框架為海量資料可擴充套件的分散式訓練提供了一種靈活的體系結構。
Apache Siga在各種各樣的硬體上執行都具有可擴充套件性。它主要應用在自然語言處理(NLP)和影像識別領域。
目前,Apache孵化器專案提供了一種可以在一組節點中工作的簡單開發模型。深度分散式學習在訓練過程中使用了模型共享和並行化方式,模型既可以序列訓練,也可以選擇並行訓練。Singa也使用Apache Zookeeper簡化了叢集的搭建。
不管怎樣,Apache Siga也支援傳統的機器學習模型,如邏輯迴歸等等。
結論
我們已經介紹了一些用於Java開發的最好的機器學習框架。事實上,應用了機器學習的Web開發將會使IT世界進行一場革命。然而,目前各種流行的機器學習框架和庫不是用Python語言編寫的,就是由Python支援的,主要包括Keras、Theano、TensorFlow和一些較小的專案,比如Microsoft Azure Studio、sci-kit learn、Veles、Chainer和Neon等等。
本文由北郵@愛可可-愛生活 老師推薦,阿里云云棲社群組織翻譯。
文章原標題《Top 5 Machine Learning Frameworks For Web Development》
譯者:奧特曼,審校:袁虎。
文章為簡譯,更為詳細的內容,請檢視原文。
相關文章
- 10個用於Web開發的最好 Python 框架WebPython框架
- 幾種實用型Ruby Web開發框架介紹Web框架
- 基於mui的H5套殼APP開發web框架分享UIH5APPWeb框架
- Laravel框架改進Web App開發的9種方法Laravel框架WebAPP
- MediaPipe - 跨平臺機器學習應用開發框架API機器學習框架
- 加速Web開發的9款知名HTML5框架WebHTML框架
- 分享剛出爐的基於Blazor技術的Web應用開發框架BlazorWeb框架
- 用於微服務開發的 Java 框架微服務Java框架
- 如何應用於Web框架的搭建Web框架
- 機器學習將在遊戲開發中的6種應用機器學習遊戲開發
- 初學 Java Web 開發,請遠離各種框架,從 Servlet 開發JavaWeb框架Servlet
- web開發安全框架中的Apache Shiro的應用Web框架Apache
- 《Flask Web開發 基於Python的Web應用開發實戰》簡評FlaskWebPython
- 基於業務的Web應用框架 SimpleFrameworkWeb框架Framework
- 10 個用於 AI 開發的框架和庫AI框架
- 基於Gin框架的web後端開發(八): Gin框架的請求重定向框架Web後端
- 10個優秀的移動Web應用開發框架Web框架
- 基於EF6的快速開發Web框架——Swift.NetWeb框架Swift
- Phoenix - 基於Elixir的下一代Web開發框架Web框架
- 8款實用HTML5開發框架HTML框架
- 基於thinkphp5框架開發的淘寶客網站PHP框架網站
- Web開發框架推導Web框架
- node express web開發框架ExpressWeb框架
- Web開發框架趨勢Web框架
- Web開發框架比較Web框架
- “Python Web應用開發框架Django速成”公開課PythonWeb框架Django
- 為HTML5開發人員量身打造的7個Web框架HTMLWeb框架
- 基於構件開發的應用框架設計框架
- 基於GORM框架的web後端開發(一): GORM連線MySQLGoORM框架Web後端MySql
- 分享一個基於 Node.js 的 Web 開發框架 – NokitjsNode.jsWeb框架
- 關於開發框架的搭建框架
- 用於前端開發的十種高效Chrome外掛前端Chrome
- 基於Gin框架的web後端開發(七): Gin框架的檔案上傳詳解框架Web後端
- 《Flask Web開發:基於Python的Web應用開發實戰》學習筆記(二)FlaskWebPython筆記
- 月薪5萬,全靠這款高質量Web前端開發框架!Web前端框架
- Web前端開發框架有哪些?Web前端框架
- 快速web開發框架——learun frameworkWeb框架Framework
- web前端開發框架那些事Web前端框架