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