你肯定已經(jīng)了解流行的開源工具,如R、Python、Jupyter筆記本等。但是,除了這些流行的工具之外還有一個(gè)世界——一個(gè)隱藏在機(jī)器學(xué)習(xí)工具下的地方。這些并不像他們的同行那樣出色,但可以成為許多機(jī)器學(xué)習(xí)任務(wù)的救星。
在本文中,我們將介紹21種用于機(jī)器學(xué)習(xí)的開源工具。我強(qiáng)烈建議你花一些時(shí)間瀏覽我提到的每個(gè)類別。除了我們通常在課程和視頻中學(xué)到的東西之外,還有很多需要學(xué)習(xí)的地方。
面向非程序員的開源機(jī)器學(xué)習(xí)工具
對(duì)于來自非編程和非技術(shù)背景的人來說,機(jī)器學(xué)習(xí)看起來很復(fù)雜。這是一個(gè)廣闊的領(lǐng)域,我可以想象第一步可能會(huì)多么令人生畏。沒有編程經(jīng)驗(yàn)的人能否在機(jī)器學(xué)習(xí)中取得成功?
事實(shí)證明,你可以!這里有一些工具可以幫助你跨越鴻溝并進(jìn)入著名的機(jī)器學(xué)習(xí)世界:
優(yōu)步路德維希:路德維希允許我們訓(xùn)練和測(cè)試深度學(xué)習(xí)模型,而無需編寫代碼。您需要提供的只是一個(gè)包含數(shù)據(jù)的CSV文件,一個(gè)用作輸入的列的列表,以及一個(gè)用作輸出的列的列表——Ludwig將完成剩下的工作。
KNIME:KNIME允許您使用拖放界面創(chuàng)建整個(gè)數(shù)據(jù)科學(xué)工作流程。這種可視化實(shí)現(xiàn)整個(gè)模型工作流的方法非常直觀,在處理復(fù)雜的問題陳述時(shí)非常有用。
Orange:您不必知道如何編碼以便能夠使用Orange挖掘數(shù)據(jù),處理數(shù)據(jù)并獲得洞察力。
有許多有趣的免費(fèi)和開源軟件可以提供很好的機(jī)器學(xué)習(xí)功能,而無需編寫(大量)代碼。
另一方面,你可以考慮一些開箱即用的付費(fèi)服務(wù),例如Google AutoML、Azure Studio、Deep Cognition和Data Robot。
用于模型部署的開源機(jī)器學(xué)習(xí)工具
部署機(jī)器學(xué)習(xí)模型是最容易被忽視但重要的任務(wù)之一,它幾乎肯定會(huì)在采訪中出現(xiàn),所以你可能也很熟悉這個(gè)話題。
以下是一些框架,可以更輕松地將你的項(xiàng)目部署到現(xiàn)實(shí)世界的設(shè)備中。
MLFlow:MLFlow被設(shè)計(jì)用于使用任何機(jī)器學(xué)習(xí)庫或算法,并管理整個(gè)生命周期,包括實(shí)驗(yàn)、重現(xiàn)性和機(jī)器學(xué)習(xí)模型的部署。
Apple的CoreML:CoreML是一個(gè)流行的框架,它可用于將機(jī)器學(xué)習(xí)模型集成到你的iOS / Apple Watch / Apple TV / MacOS應(yīng)用程序中。關(guān)于CoreML的最好的部分是你不需要有關(guān)神經(jīng)網(wǎng)絡(luò)或機(jī)器學(xué)習(xí)的廣泛知識(shí),雙贏!
TensorFlow Lite:TensorFlow Lite是一組工具,可幫助開發(fā)人員在移動(dòng)設(shè)備(Android和iOS),嵌入式和物聯(lián)網(wǎng)設(shè)備上運(yùn)行TensorFlow模型。
TensorFlow.JS - TensorFlow.JS可以成為你在網(wǎng)絡(luò)上部署機(jī)器學(xué)習(xí)模型的首選。它是一個(gè)開源庫,可讓你在瀏覽器中構(gòu)建和訓(xùn)練機(jī)器學(xué)習(xí)模型。
適用于大數(shù)據(jù)的開源機(jī)器學(xué)習(xí)工具
大數(shù)據(jù)是一個(gè)研究如何分析、系統(tǒng)地從數(shù)據(jù)集中提取信息,或者處理傳統(tǒng)數(shù)據(jù)處理應(yīng)用軟件無法處理的太大或太復(fù)雜的數(shù)據(jù)集的領(lǐng)域。想象一下,每天處理數(shù)百萬條推文進(jìn)行情感分析。這是一項(xiàng)艱巨的任務(wù),不是嗎?
別擔(dān)心!這里有一些工具可以幫助你處理大數(shù)據(jù)。
Hadoop:使用大數(shù)據(jù)最重要和最相關(guān)的工具之一是Hadoop項(xiàng)目。Hadoop是一個(gè)框架,它允許使用簡單的編程模型跨計(jì)算機(jī)集群分布式處理大型數(shù)據(jù)集。
Spark:Apache Spark被認(rèn)為是Hadoop用于大數(shù)據(jù)應(yīng)用程序的自然繼承者。這個(gè)開源大數(shù)據(jù)工具的關(guān)鍵點(diǎn)在于它填補(bǔ)了Apache Hadoop在數(shù)據(jù)處理方面的空白。有趣的是,Spark可以處理批量數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)。
Neo4j:對(duì)于所有與數(shù)據(jù)相關(guān)的大問題,Hadoop可能不是明智的選擇。例如,當(dāng)你需要處理大量網(wǎng)絡(luò)數(shù)據(jù)或圖形相關(guān)問題(如社交網(wǎng)絡(luò)或人口統(tǒng)計(jì)模式)時(shí),圖形數(shù)據(jù)庫可能是最佳選擇。
用于計(jì)算機(jī)視覺,NLP和音頻的開源機(jī)器學(xué)習(xí)工具
“如果我們想要機(jī)器思考,我們需要教他們看。”——Fei-Fei Li博士的計(jì)算機(jī)視覺。
SimpleCV:如果你從事任何計(jì)算機(jī)視覺項(xiàng)目,必須使用OpenCV。但你有遇到過SimpleCV嗎?SimpleCV可以訪問幾個(gè)高性能的計(jì)算機(jī)視覺庫,如OpenCV——無需首先了解位深度、文件格式、色彩空間、緩沖區(qū)管理、特征值或矩陣與位圖存儲(chǔ),這使計(jì)算機(jī)視覺變得簡單。
Tesseract OCR:你是否使用過創(chuàng)意應(yīng)用程序,通過使用智能手機(jī)的相機(jī)掃描文檔或購物賬單,或者僅僅通過給支票拍照就可以把錢存入銀行賬戶?所有這些應(yīng)用程序都稱之為OCR或光學(xué)字符識(shí)別軟件。Tesseract就是這樣一種OCR引擎,能夠識(shí)別100多種語言,也可以訓(xùn)練識(shí)別其他語言。
Detectron:Detectron是Facebook AI Research的軟件系統(tǒng),它實(shí)現(xiàn)了最先進(jìn)的物體檢測(cè)算法,包括Mask R-CNN。它是用Python編寫的,由Caffe2深度學(xué)習(xí)框架提供支持。
StanfordNLP:StanfordNLP是一個(gè)Python自然語言分析包,關(guān)于這個(gè)庫的最好的部分就是它支持超過70種人類語言!
BERT即服務(wù):你們所有的NLP愛好者都會(huì)聽說過BERT這一來自谷歌的突破性NLP架構(gòu),但你可能還沒有遇到過這個(gè)非常有用的項(xiàng)目。Bert-as-a-service使用BERT作為句子編碼器,并通過ZeroMQ將其作為服務(wù)托管,允許你僅用兩行代碼將句子映射到固定長度的表示形式。
Google Magenta:此庫提供了用于處理源數(shù)據(jù)(主要是音樂和圖像)的實(shí)用程序,使用此數(shù)據(jù)來訓(xùn)練機(jī)器學(xué)習(xí)模型,最后從這些模型生成新內(nèi)容。
LibROSA:LibROSA是一個(gè)用于音樂和音頻分析的Python包。它提供了創(chuàng)建音樂信息檢索系統(tǒng)所需的構(gòu)建塊。當(dāng)我們使用深度學(xué)習(xí)等語音到文本的應(yīng)用程序時(shí),它在音頻信號(hào)預(yù)處理中被大量使用。
用于強(qiáng)化學(xué)習(xí)的開源工具
當(dāng)談到機(jī)器學(xué)習(xí)時(shí),RL是最近的熱門話題。強(qiáng)化學(xué)習(xí)(RL)的目標(biāo)是培養(yǎng)能夠與環(huán)境互動(dòng)并解決復(fù)雜任務(wù)的智能代理,實(shí)現(xiàn)機(jī)器人、自動(dòng)駕駛汽車等領(lǐng)域的實(shí)際應(yīng)用。以下是一些對(duì)RL最有用的培訓(xùn)環(huán)境:
谷歌研究足球:谷歌研究足球環(huán)境是一個(gè)新穎的RL環(huán)境,代理商的目標(biāo)是掌握世界上最受歡迎的運(yùn)動(dòng)——足球。這種環(huán)境為你提供了大量的控制來訓(xùn)練RL代理。
OpenAI Gym:Gym是一個(gè)用于開發(fā)和比較強(qiáng)化學(xué)習(xí)算法的工具包。它支持教學(xué)代理從步行到玩乒乓球或彈球戲等游戲。在下面的gif圖片中,你可以看到一個(gè)正在學(xué)習(xí)走路的機(jī)器人。
Unity ML代理:Unity機(jī)器學(xué)習(xí)代理工具包(ML-Agents)是一個(gè)開放源碼Unity插件,可以將游戲和模擬作為培訓(xùn)智能代理的環(huán)境。通過一個(gè)簡單易用的Python API,可以使用強(qiáng)化學(xué)習(xí)、模仿學(xué)習(xí)、神經(jīng)進(jìn)化或其他機(jī)器學(xué)習(xí)方法來訓(xùn)練agent。
Malmo項(xiàng)目:Malmo平臺(tái)是一個(gè)基于Minecraft構(gòu)建的復(fù)雜AI實(shí)驗(yàn)平臺(tái),旨在支持人工智能的基礎(chǔ)研究,由Microsoft開發(fā)。
最后指出
正如上面的一組工具可以明顯看出,當(dāng)我們考慮數(shù)據(jù)科學(xué)和人工智能相關(guān)的項(xiàng)目時(shí),開源是一條正確的道路。我可能只是觸及了冰山一角,但是有許多工具可用于各種任務(wù),使你作為數(shù)據(jù)科學(xué)家的生活更輕松,你只需要知道在哪里查找即可。
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8438瀏覽量
133024 -
tensorflow
+關(guān)注
關(guān)注
13文章
329瀏覽量
60615 -
開源工具
+關(guān)注
關(guān)注
0文章
27瀏覽量
4520
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論