JavaScript中七種流行的開源機器學習框架
如果你是一位想要深入機器學習的 JavaScript 程序員或想成為一位使用 JavaScript 的機器學習專家,那么這些開源框架也許會吸引你。
開源工具的涌現(xiàn)使得開發(fā)者能夠更加輕松地開發(fā)應用,這一點使機器學習領域本身獲得了極大增長。(例如,AndreyBu,他來自德國,在機器學習領域擁有五年以上的經(jīng)驗,他一直在使用各種各樣的開源框架來創(chuàng)造富有魅力的機器學習項目。)
雖然 Python 是絕大多數(shù)的機器學習框架所采用的語言,但是 JavaScript 也并沒有被拋下。JavaScript 開發(fā)者可以在瀏覽器中使用各種框架來訓練和部署機器學習模型。
1、TensorFlow.js
TensorFlow.js 是一個開源庫,它使你能在瀏覽器中完整地運行機器學習程序,它是 Deeplearn.js 的繼承者,Deeplearn.js 不再更新了。TensorFlow.js 在 Deeplearn.js 功能的基礎上進行了改善,使你能夠充分利用瀏覽器,得到更加深入的機器學習經(jīng)驗。
通過這個開源庫,你可以在瀏覽器中使用有各種功能的、直觀的 API 來定義、訓練和部署模型。除此之外,它自動提供 WebGL 和 Node.js 的支持。
如果您有了一個已經(jīng)訓練過的模型,你想要導入到瀏覽器中。TensorFlow.js 可以讓你做到這一點,你也可以在不離開瀏覽器的情況下重新訓練已有的模型。
2、Machine learning tools
現(xiàn)在有很多在瀏覽器中提供廣泛的機器學習功能的資源型開源工具,這個機器學習工具庫就是這些開源工具的集合。這個工具庫為好幾種機器學習算法提供支持,包括非監(jiān)督式學習、監(jiān)督式學習、數(shù)據(jù)處理、人工神經(jīng)網(wǎng)絡(ANN)、數(shù)學和回歸。
如果你以前使用 Python,現(xiàn)在想找類似于 Scikit-learn 的,能在瀏覽器中使用 JavaScript 進行機器學習的工具,這套工具會滿足你的要求。
3、Keras.js
Keras.js 是另外一個熱門的開源框架,它使你能夠在瀏覽器中運行機器學習模型,它使用 WebGL 來提供 GPU 模式的支持。如果你有使用 Node.js 的模型,你就只能在 GPU 模式下運行它。Keras.js 還為使用任意后端框架的模型訓練提供支持,例如 Microsoft Cognitive Toolkit (CNTK) 。
一些 Keras 模型可以部署在客戶端瀏覽器上,包括 Inception v3 (訓練在 ImageNet 上),50 層冗余網(wǎng)絡(訓練在 ImageNet 上),和卷積變化自動編碼器(訓練在 MNIST 上)。
4、Brain.js
機器學習里的概念非常重要,它可能會使剛開始進入這個領域的人們氣餒,這個領域里的學術用語和專業(yè)詞匯可能會使初學者感到崩潰,而解決以上問題的能力就是 Brain.js 的優(yōu)勢所在。它是開源的,基于 JavaScript 的框架,簡化了定義、訓練和運行神經(jīng)網(wǎng)絡的流程。
如果你是一個 JavaScript 開發(fā)者,并且在機器學習領域是完全的新手,Brain.js 能減低你學習的難度曲線。它可以和 Node.js 一起使用,或者運行在客戶端瀏覽器里來訓練機器學習模型。Brain.js 支持部分類型的神經(jīng)網(wǎng)絡,包括前饋式網(wǎng)絡、Ellman 網(wǎng)絡,和門循環(huán)單元網(wǎng)絡。
5、Synaptic.js
Synaptic 可以運行在瀏覽器和 NodeJs 服務器端的神經(jīng)網(wǎng)絡庫,你能夠用它訓練一層甚至是二層神經(jīng)網(wǎng)絡結構。該庫包括一些內(nèi)置的體系結構,如多層感知機(MLP)、長短時記憶網(wǎng)絡、液體狀態(tài)機和能夠訓練真實網(wǎng)絡的訓練器。
6、compromise
基本上是NLP自然語言處理庫 - 前端 Java 實現(xiàn)的首選,這個庫加上自己的資料庫壓縮成min.js后文件大小可達到300k以下,這樣運行在瀏覽器和 NodeJs 服務器端都問題不大,具體可以做的東西是訓練自定義語義庫:劃分出分詞,獲取句子的各個詞性,可以把句子變積極消極、分詞等.
7、STDLib
STDLib 是一個基于 JavaScript 和 Node.js 應用的開源庫,如果您正在尋找一種在瀏覽器中運行,支持科學和數(shù)字化的基于 web 的機器學習應用,STDLib 能滿足你的需要。
這個庫能提供全面而先進的數(shù)學和統(tǒng)計學上的功能,來幫助你構建高性能的機器學習模型。你同樣也可以使用它豐富的功能來構建應用程序和其他的庫。除此之外,如果你想要一個數(shù)據(jù)可視化和探索性數(shù)據(jù)分析的框架 —— STDLib 你,值得擁有。
如果你是一個 JavaScript 開發(fā)者,并且打算深入研究令人興奮的機器學習世界,或者說,你是一個機器學習方面的專家,打算開始嘗試使用 JavaScript ,那么上述的開源框架會激起您的興趣。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
- python機器學習庫xgboost的使用
- python機器學習實現(xiàn)決策樹
- python 機器學習之支持向量機非線性回歸SVR模型
- python機器學習庫scikit-learn:SVR的基本應用
- 機器學習實戰(zhàn)之knn算法pandas
- python機器學習之神經(jīng)網(wǎng)絡實現(xiàn)
- python機器學習之KNN分類算法
- Python機器學習k-近鄰算法(K Nearest Neighbor)實例詳解
- python適合人工智能的理由和優(yōu)勢
- 人工智能(AI)首選Python的原因解析
- 為何人工智能(AI)首選Python?讀完這篇文章你就知道了(推薦)
- 人工智能學習路線分享
- AI人工智能 Python實現(xiàn)人機對話
- 人工智能機器學習常用算法總結及各個常用算法精確率對比
相關文章
JSON字符串轉換JSONObject和JSONArray的方法
這篇文章主要介紹了JSON字符串轉換JSONObject和JSONArray的方法的相關資料,需要的朋友可以參考下2016-06-06微信小程序 image組件binderror使用例子與js中的onerror區(qū)別
這篇文章主要介紹了微信小程序 image組件binderror使用例子與js中的onerror區(qū)別的相關資料,需要的朋友可以參考下2017-02-02