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