人工智能的飛速增長刺激了當(dāng)今就業(yè)市場對機(jī)器學(xué)習(xí)技能的巨大需求,機(jī)器學(xué)習(xí)社區(qū)現(xiàn)在非?;钴S,各種開源工具層出不窮,讓人有點(diǎn)目不暇接,有點(diǎn)不知道該如何選擇。那么本篇將為你介紹10個最應(yīng)該了解的機(jī)器學(xué)習(xí)開源工具。
現(xiàn)在工具那么多,我們該如何選擇呢?本文針對非開發(fā)者、模型部署、NLP、語音、視覺、強(qiáng)化學(xué)習(xí)、數(shù)據(jù)挖掘等多個不同人群,提供了10個必須掌握的模型。
短短的5年時間機(jī)器的算法水平又提升了100萬倍!過去或許只能從1萬人中識別出1個人,后來發(fā)展到1000萬、1億、10億甚至20億人中識別出這個人!與此同時,算力方面提升了10萬倍。從過去用1萬量級規(guī)模的數(shù)據(jù)做訓(xùn)練,到百萬規(guī)模的數(shù)據(jù)做訓(xùn)練,到現(xiàn)在用10億的數(shù)據(jù)集做訓(xùn)練,又提升了1萬倍!
非開發(fā)者應(yīng)該用什么?
不會開發(fā),不會編程,也能用機(jī)器學(xué)習(xí)?答案是可以的,只要你會用工具。這里為初學(xué)者推薦兩個工具:
1.Knime
Knime是一款出色的工具,可讓你無需編寫任何代碼即可完成端到端的數(shù)據(jù)科學(xué)工作流程。
它甚至配備了一個拖放式界面,UI清晰,操作簡單直觀,可以說是懶人福音了。
操作起來非常簡單,首先使用該工具進(jìn)行數(shù)據(jù)收集和轉(zhuǎn)換;完成后,你可以創(chuàng)建一個模型并將其可視化。在生產(chǎn)方面,你可以部署和管理數(shù)據(jù)科學(xué)項目。
官網(wǎng):https://www.knime.com/
2.Uber Ludwig
Uber Ludwig是另一款適合初學(xué)者的優(yōu)秀工具。有了它,你可以快速測試和訓(xùn)練深度學(xué)習(xí)模型。用戶可以選擇啟用懶人模式(拖曳界面),或者直接操作代碼。
使用起來比Knime稍微復(fù)雜一點(diǎn)點(diǎn)。需要先加載CSV文件來訓(xùn)練數(shù)據(jù)。通過使用預(yù)先訓(xùn)練的模型,你可以預(yù)測輸出目標(biāo)。最后,你可以使用可用的可視化選項可視化你的數(shù)據(jù)。
如果你是編程的初學(xué)者,你還可以在Python中使用它們擴(kuò)展的API和訓(xùn)練模型。
GitHub地址:https://uber.github.io/ludwig/user_guide/
模型部署用什么工具?
模型部署是機(jī)器學(xué)習(xí)的關(guān)鍵方面之一。為了幫助你完成此過程,這里列出了幾個工具。
3.TensorFlow.js
TensorFlow.js允許你直接從Web構(gòu)建和部署機(jī)器學(xué)習(xí)模型。它使用JavaScript在Web上運(yùn)行。
你也可以使用Node.js。有了它,你不僅可以運(yùn)行現(xiàn)有模型,還可以重新訓(xùn)練現(xiàn)有模型。
它提供了直觀的API,允許你使用JavaScript構(gòu)建和訓(xùn)練模型,在Web瀏覽器上也是如此。
如果你想在移動設(shè)備上進(jìn)行開發(fā),還可以查看TensorFlow Lite。
官方地址:https://www.tensorflow.org/js/
4.MLFlow
MLFlow讓你可以解決端到端的機(jī)器學(xué)習(xí)生命周期問題。它有三個主要組件。
MLflow跟蹤 - 通過記錄和比較結(jié)果和參數(shù)來處理實驗
MLflow項目 - 允許你將項目打包成其他成員的可重用表單
MLflow模型 - 幫助你在不同平臺中部署和管理ML庫
MLFlow的另一個驚人功能是它與庫無關(guān)。這意味著你可以將它與其他機(jī)器學(xué)習(xí)庫一起使用而不會出現(xiàn)任何兼容性問題。為了實現(xiàn)library-agonistic行為,它使用REST API和CLI。
官方地址:https://github.com/databricks/
mlflow
NLP、計算機(jī)視覺和音頻用什么工具?
還有其他方便的工具可用于在機(jī)器學(xué)習(xí)中執(zhí)行不同的操作。
5.Detectron
如果你正在尋找最先進(jìn)的物體檢測算法,那么你可以使用Detectron。
它由Facebook開發(fā),是AI Research軟件系統(tǒng)的一部分。它利用Caffe2深度學(xué)習(xí)框架和Python。
官方地址:https://github.com/facebookresea
rch/Detectron
6.SimpleCV
SimpleCV,一個開源框架,允許你構(gòu)建計算機(jī)視覺應(yīng)用程序。它類似于OpenCV,使你可以訪問高級計算機(jī)視覺庫。這意味著你不必?fù)?dān)心錯綜復(fù)雜的概念。
有了它,你可以制作計算機(jī)視覺項目,而無需在基礎(chǔ)知識上投入太多時間。畢竟,出于某種原因,它被命名為SimpleCV。
官方地址:http://simplecv.org/
7.Tesseract OCR
Tesseract OCR是一款功能強(qiáng)大的光學(xué)字符識別軟件,可讓你識別語言。
它支持100多種語言,也可以編程識別新語言。
官方地址:https://github.com/tesseract-ocr/
tesseract
強(qiáng)化學(xué)習(xí)用什么工具?
如果你想訓(xùn)練智能代理,那么你需要幫助強(qiáng)化學(xué)習(xí)。
8.Open AI Gym
Open AI Gym讓你訓(xùn)練你的智能體做幾乎任何事情,包括散步、玩游戲等等。它借助易于使用的強(qiáng)化學(xué)習(xí)任務(wù)套件來實現(xiàn)。
官方地址:https://gym.openai.com/
9.Unity ML Agents
Unity ML Agents是Unity提供的開源統(tǒng)一插件,讓你開發(fā)可在游戲中使用的智能體。
官方網(wǎng)址:https://unity3d.com/machine-
learninghttps://unity3d.com/machine-learning
數(shù)據(jù)挖掘用什么工具?
如果你希望收集數(shù)據(jù)科學(xué)項目的數(shù)據(jù),可以使用以下工具。
10.Weka
Weka用于數(shù)據(jù)挖掘任務(wù)。它借助于為數(shù)據(jù)挖掘設(shè)計的機(jī)器學(xué)習(xí)算法來實現(xiàn)。有了它,你可以找到很多東西,包括分類、準(zhǔn)備、回歸、聚類、可視化和關(guān)聯(lián)規(guī)則挖掘。
該項目是開源的,使用GNU許可。
官方網(wǎng)址:http://www.cs.waikato.ac.nz/ml/
weka/
結(jié)論
機(jī)器學(xué)習(xí)正在改變我們與世界互動的方式,它使我們的生活更輕松,并確保我們建立一個未來世界。