21機器學習開源工具分享

咱們將開源機器學習工具分爲如下5類:程序員

  1. 面向非程序員的開源機器學習工具面試

  2. 用於機器學習模型部署算法

  3. 大數據開源工具數據庫

  4. 用於計算機視覺,NLP和音頻編程

  5. 用於強化學習瀏覽器

1. 面向非程序員的開源機器學習工具

對於非程序員或是沒有技術背景的人來講,機器學習看起來很複雜。 這是一個廣闊的領域,能夠想象可能第一次接觸機器學習會多麼使人生畏。 那麼沒有編程經驗的人可否在機器學習中取得成功?安全

事實證實,大家能夠! 這裏有一些工具能夠幫助你跨越鴻溝並進入機器學習世界:服務器

  • Uber Ludwig : Uber的Ludwig是一個創建在TensorFlow之上的工具箱。 Ludwig容許咱們訓練和測試深度學習模型,而無需編寫代碼。 你所須要提供的只是一個包含數據的CSV文件,包含用做輸入的各列數據,以及用做輸出的各列數據--以後Ludwig將完成剩下的工做。 它對於實驗很是有用,由於你能夠絕不費力地構建複雜的模型,而且在決定將其用代碼實現以前,你能夠調整並使用它。 能夠經過下面的連接進一步瞭解如何使用Uber Ludwigz: 網絡

https://www.youtube.com/watch?v=OGweVw57kus架構

  • KNIME : KNIME容許你使用拖放接口建立整個數據科學工做流。 實際上,你能夠實現從特徵工程到特徵選擇的全部功能,甚至能夠經過這種方式將機器學習預測模型添加到工做流中,這種可視化實現整個模型工做流的方法很是直觀,在處理複雜的問題時很是有用。 

新知圖譜, ​21個必須知道的機器學習開源工具

  • Orange : 你沒必要知道如何編碼以便可以使用Orange挖掘數據,處理數據並得到知識。 你能夠執行從基本可視化到數據操做的任務,像轉換和數據挖掘。 Orange近來在學生和教師團體中很受歡迎,由於它易於使用,而且可以添加多個附加組件以補充其功能集。 

還有許多有趣、免費和開源的軟件能夠方便咱們進行機器學習,而無需編寫(大量)代碼。

另外一方面,你能夠考慮一些付費的開箱即用服務,例如Google AutoML,Azure Studio,Deep Cognition和Data Robot。

2. 用於模型部署的開源機器學習工具

部署機器學習模型是你應該注意然而最容易被忽視但重要的任務之一。 它幾乎確定會在面試中出現,因此你可能也很熟悉這個話題。

如下是一些框架,能夠更輕鬆地將你的項目部署到現實世界的設備中。

  • MLFlow : MLFlow旨在與任何機器學習庫或算法配合使用,並管理整個生命週期,包括實驗,可重複性和機器學習模型的部署。 MLFlow目前處於alpha版本,有3個組件——跟蹤、項目和模型。 

新知圖譜, ​21個必須知道的機器學習開源工具

  • Apple’s CoreML : CoreML是一個流行的框架,可用於將機器學習模型集成到你的iOS / Apple Watch / Apple TV / MacOS應用程序中。 關於CoreML的最好的部分是你不須要有關神經網絡或機器學習的廣博知識。 

新知圖譜, ​21個必須知道的機器學習開源工具

  • TensorFlow Lite : TensorFlow Lite是一組工具,可幫助開發人員在移動設備(Android和iOS),嵌入式和物聯網設備上運行TensorFlow模型。 它旨在簡化在網絡「邊緣」的設備上執行機器學習,而不是從服務器來回發送數據。 

  • TensorFlow.js : TensorFlow.js能夠成爲你在網絡上部署機器學習模型的首選。 它是一個開源庫,可以讓你在瀏覽器中構建和訓練機器學習模型。 它具備GPU加速功能,而且還自動支持WebGL。 你能夠導入現有的預訓練模型,並在瀏覽器中從新訓練整個現有的機器學習模型! 

新知圖譜, ​21個必須知道的機器學習開源工具

3. 用於大數據的開源機器學習工具

大數據是一個研究如何分析、系統地從數據集中提取信息,或者處理傳統數據處理應用軟件沒法處理的太大或太複雜的數據集的領域。 想象一下,天天處理數百萬條推文進行情緒分析。這感受像是一項艱鉅的任務,不是嗎?

別擔憂! 如下是一些能夠幫助你用於大數據的工具。

  • Hadoop : Hadoop項目是處理大數據最突出和相關的工具之一。 Hadoop是一個框架,它容許使用簡單的編程模型跨計算機集羣分佈式處理大型數據集。 它被設計成從單個服務器擴展到數千臺機器,每臺機器都提供本地計算和存儲。 

新知圖譜, ​21個必須知道的機器學習開源工具

  • Spark : Apache Spark被認爲是用於大數據應用的Hadoop的天然繼承者。 這個開源大數據工具的關鍵在於填補了Apache Hadoop在數據處理方面的空白。 有趣的是,Spark能夠處理批處理數據和實時數據。 

  • Neo4j : Hadoop可能不是全部大數據相關問題的明智選擇。 例如,當你須要處理大量的網絡數據或與圖相關的問題(如社交網絡或人口統計模式)時,圖數據庫多是最佳選擇。

新知圖譜, ​21個必須知道的機器學習開源工具

4. 用於計算機視覺、NLP和音頻的開源機器學習工具

「若是咱們想讓機器思考,咱們須要教它們看東西。 」 ——李飛飛博士談計算機視覺

  • SimpleCV : 若是你從事過任何計算機視覺項目,那麼你必定使用過OpenCV。 可是你瞭解過SimpleCV嗎?SimpleCV可讓你訪問幾個高性能的計算機視覺庫,如OpenCV而無需首先了解位深度、文件格式、顏色空間、緩衝區管理、特徵值或矩陣與位圖存儲。 這就是讓計算機視覺變得更加簡單。

    新知圖譜, ​21個必須知道的機器學習開源工具

  • Tesseract OCR :你是否使用過一些創造性的應用程序,能夠經過智能手機攝像頭掃描文件或購物帳單,或者僅僅經過給支票拍照就能夠把錢存入銀行帳戶?全部這些應用程序都使用咱們稱之爲OCR或光學字符識別軟件。 Tesseract就是這樣一個OCR引擎,它能夠識別超過100種語言。 它也能夠經過訓練來識別其餘語言。 

  • Detectron :  Detectron是Facebook AI Research研究小組的軟件系統,它實現了最早進的目標檢測算法,包括Mask R-CNN。 它是用Python編寫的,並由Caffe2深度學習框架提供支持。

新知圖譜, ​21個必須知道的機器學習開源工具

  • StanfordNLP : StanfordNLP是一個Python天然語言分析包。 這個庫最棒的地方是它支持70多種人類語言!它包含能夠在管道中使用的工具: 

  • 將包含人類語言文本的字符串轉換爲句子和單詞 

  • 生成這些單詞的基本形式、語音和詞形特徵 

  • 給出一個句法結構依賴解析

新知圖譜, ​21個必須知道的機器學習開源工具

  • BERT as a Service :大家全部的NLP愛好者都應該據說過BERT,谷歌中開創性的NLP架構,可是大家可能尚未遇到過這個很是有用的項目。 BERT -as-a-service使用BERT做爲句子編碼器,並經過ZeroMQ將其做爲服務託管,容許你僅用兩行代碼將句子映射成固定長度的表示形式。 

  • Google Magenta : 這個庫提供了操做源數據(主要是音樂和圖像)的實用工具,使用這些數據來訓練機器學習模型,最後從這些模型生成新的內容。 能夠經過下面的連接進一步瞭解如何使用Google Magenta: 

https://www.youtube.com/watch?v=pM9u9xcM_cs

  • LibROSA : LibROSA是一個用於音樂和音頻分析的Python包。 它提供了建立音樂信息檢索系統所需的構建塊。 它在音頻信號預處理中獲得了普遍的應用,像使用深度學習的語音合成應用。

5. 用於強化學習的開源工具

當談到機器學習時,RL是最近的熱門話題。 強化學習(RL)的目標是訓練可以與環境交互並解決複雜任務的智能代理,並將其應用於機器人、自動駕駛汽車等領域。

推進了這一領域的快速發展是經過讓代理玩遊戲,如標誌性的Atari控制檯遊戲,古老的Go遊戲,或專業的視頻遊戲Dota 2或Starcraft 2,全部這些都提供了富有挑戰性的環境,在這些環境中,新的算法和思想能夠以一種安全和可重複的方式快速測試。 如下是一些RL最有用的訓練環境:

  • Google Research Football :  Google Research Football Environment是一個全新的RL環境,代理的目標是掌握世界上最流行的運動——足球。 這種環境給你很大的控制權來訓練你的RL代理,能夠經過下面的連接視頻瞭解更多: 

https://www.youtube.com/watch?v=F8DcgFDT9sc

  • OpenAI Gym : Gym是一個用於開發和比較強化學習算法的工具包。 它支持教代理從學會走路到玩乒乓球或彈球等遊戲。 

  • Unity ML Agents : Unity Machine Learning Agents Toolkit (ML-Agents)是一個開放源碼的Unity插件,它能夠將遊戲和仿真做爲訓練智能代理的環境。 經過一個簡單易用的Python API就可使用強化學習、模仿學習、神經進化或其餘機器學習方法來訓練代理。 

  • Project Malmo : Malmo平臺是一個基於Minecraft構建的複雜AI實驗平臺,旨在支持人工智能的基礎研究。 它由微軟開發。 能夠經過下面的連接視頻瞭解更多: 

https://www.youtube.com/watch?v=KkVj_ddseO8

5. 總結

從上面的一組工具能夠明顯看出,當咱們考慮數據科學和人工智能相關的項目時,開源是咱們要走的路。 我可能只是觸及了冰山一角,可是有許多工具能夠用於各類各樣的任務,使做爲數據科學家的實驗變得更容易,而只須要知道在哪裏查找便可。 。

在本文中,咱們涵蓋了5個有趣的數據科學領域,而若是沒有代碼、ML部署、大數據、視覺/NLP/聲音和強化學習,就沒有人真正談論ML。 這個5個方面,我我的認爲在考慮人工智能的真實世界價值時產生的影響最大。

 

來源商業新知網,原標題:21個必須知道的機器學習開源工具

相關文章
相關標籤/搜索