GitHub上25個最受歡迎的開源機器學習庫

作者 | Khoa Pham 出品 | AI科技大本營

在過去的幾年裏,機器學習爲各行各業開創了新紀元,誕生了許多成功的案例: Facebook 的面部識別,Netflix 的智能電影推薦系統,PrimaAI 的圖像風格轉換,Siri 的語音識別,Google Allo 的自然語言處理,及其他很多開發中的項目。

除了這些案例以外,GitHub 上有大量託管的開源機器學習項目。我們挑選了最受大家歡迎的項目,這些項目涵蓋 CV、NLP 及語音三大領域的 25 個開源項目,包括:如何讓機器學習創作音樂、歌曲;如何爲草圖、灰度圖像上色;圖片風格轉換;語音風格遷移;在 IOS 或 Android 上進行面部檢測與情感分類;提供遊戲研究平臺;最先進的物體檢測算法的實現;無人機與汽車的模擬器;損毀圖像的恢復工具、人體關鍵點檢測等內容。希望大家能從中學到新的知識並得到啓發。

▌TensorFlow

TensorFlow 是一個用於研究和生產的開源機器學習庫。 TensorFlow 爲初學者和專家提供了各種API,以便對桌面、移動終端、Web和雲進行開發。

TensorFlow 由 Google Brain 團隊開發,最初僅供 Google 內部使用。2015年11月 9 日,TensorFlow 在 Apache 2.0 開源許可下發布。最新版本的 TensorFlow 支持 Keras,它是一種用 Python 編寫的高級神經網絡 API,能夠在 TensorFlow, CNTK 或 Theano 之上運行。Keras 也包含 Javascript 和 Swift 的接口。

▌Scikit-learn

Scikit-learn 是基於 NumPy、SciPy 和 Matplotlib 的一款簡單有效的數據挖掘和數據分析工具。 由於其簡單和便捷的功能,它常與 TensorFlow 一起使用。

▌MXNet

除了 TensorFlow 、Keras 和 Scikit-learn 之外,Apache 的 MXNet 也是一款深度學習的框架工具。 它專爲提高效率和靈活性而設計,允許混合使用符號和命令式編程,以最大限度地提高效率和生產力。

▌PyTorch

PyTorch 絕對是這個列表裏一定要提到的一款應用,它在機器學習愛好者裏享有很高的知名度。 PyTorch 基於 Torch ,並由 Facebook 作爲其機器學習的框架發佈。 PyTorch 是一個 Python 包,它提供兩個高級功能:由強 GPU 支持的加速張量計算(如 NumPy ),其深度神經網絡是建立在基於磁盤的 autograd 包上。

(來源:https://twitter.com/pytorch/status/966324198758006784)

▌magenta

Magenta 目前還在研究過程中,它致力於探索如何讓機器學習參與藝術和音樂的創作。 它主要涉及創新開發深度學習和強化學習的算法以用於生成歌曲、圖像、繪圖和其他素材。 同時,Magenta 也是對於如何構建智能工具和界面的探索,它允許藝術家和音樂家使用這些模型擴展(而不是取代!)他們的創作路徑。

它主要的庫適配於 python ,除此之外也有 Javascript 的版本 — magenta.js 。 在藝術創作裏,大部分人可能從未想過高級機器學習可以使用在這個領域,但 Megenta 向人們完美地展示了應用的可能性。點擊這裏觀看這些令人驚歎的聲音和繪圖生成器的演示吧。

▌style2paints

該項目旨在爲線稿着色。 AI 可以根據既定的顏色樣式在草圖上繪製、或在草圖上創建繪製自己的顏色風格、亦或者將現有的風格轉換至另一種風格。

有一些值得一看的新的功能,例如色彩錨和圖像過渡。

▌Image-to-image translation in PyTorch

該項目有兩個組成部分,CycleGAN 和 pix2pix 。基於 PyTorch ,它們可以實現用於未配對和成對的圖像到圖像轉換。 乍看之下,它彷彿只是一種相當普通的風格轉移解決方案,事實上,它跟其他應用不一樣。比如它能將圖片裏普通的馬轉換爲斑馬或從實景照片轉換爲莫奈風格的畫作。並且它的處理速度快到足以在實時視頻上應用。

▌Deep voice conversion

列表上已經羅列了一些用於圖像和視頻的風格轉換工具了,但是語音呢? 深度語音轉換便是此功能的完美示例。

如果你可以模仿名人的聲音或擁有著歌手一樣歌喉,你會怎麼幹點什麼? 深度語音轉換的目的是將任意人的聲音轉換爲特定的目標聲音,也就是所謂的語音風格轉移。項目開始時,我們目標將任意人的聲音轉換爲著名的英國女演員 Kate Winslet 的聲音。 我們使用了一個深度神經網絡和由 Kate Winslet 朗讀的2小時有聲讀物作爲數據集來實現這一目標。

▌StarGAN in PyTorch

StarGAN 是這篇文章中提到的一個 PyTorch 應用:Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation。它可以將源圖像轉換成不同的髮型、皮膚類型、年齡、性別和不同的情緒。

▌Face detection

面部檢測聽起來不太吸引人,因爲我們可以在 iOS 和 Android 上使用 Core ML 或 ML Kit 輕鬆地完成這項工作。 但是隨着深入瞭解,你會發現它不僅可以檢測面部,還可以檢測情緒和性別。

使用 Keras CNN 模型和 OpenCV 在 fer2013 / IMDB 數據集的進行實時人臉檢測和情感/性別分類。

▌Deep universal probabilistic programming

Uber AI Labs 構建了這個深度概率編程庫,用於簡化其運輸服務的預測和優化收益。 任何處理概率建模的人都會對這個庫感興趣。

機遇無處不在,從匹配乘客和駕駛員,建議最佳路線,找到最明智的搭配組合,甚至創造下一代智能車輛。 爲了解決這些挑戰,我們將最先進的人工智能(AI)技術與數據科學家、工程師和其他用戶的豐富專業知識相結合。 我們正在探索一種工具優先的方法,使我們和其他人能夠製作下一代AI解決方案。

▌ParlAI

作爲 Facebook 研究項目的一部分,ParlAI 是一個用於在各種公開可用的對話數據集上訓練和評估 AI 模型的框架。 ParlAI 是一個在爲研究人員提供訪問許多流行數據集的權限的同時,也可以共享和測試對話模型的統一框架。

▌Facets

Facets 一種可視化機器學習數據集的工具。

可視化由 Polymer Web 組件實現,由 Typescript 代碼支持,可以輕鬆嵌入到 Jupyter 筆記本或網頁中。

可視化的關鍵是跨多個數據集的異常檢測和分佈比較。 有趣的值(例如,大量的缺失數據,或跨多個數據集非常不同的特徵分佈)以紅色突出顯示。

▌ELF with AlphaGoZero

ELF 是 AlphaGoZero / AlphaZero 實現的遊戲研究平臺。 ELF 爲遊戲研究提供端到端解決方案。 它包括微型實時戰略遊戲環境,併發模擬,數千臺機器的分佈式培訓,直觀的 API ,基於 Web 的可視化以及由 PyTorch 提供支持的強化學習框架。

▌Detectron

Detectron 是 Facebook AI Research 的軟件系統,它實現了最先進的物體檢測算法,包括 Mask R-CNN 。 它是用 Python 編寫的,由 Caffe2 深度學習框架提供支持。

▌Fast Style Transfer

使用 TensorFlow CNN 實現,這可能是圖像樣式傳輸的最佳示例之一,顧名思義,它的完成速度非常快。 該項目基於 Gatys 的藝術風格的神經算法, Johnson 對實時樣式轉換和超分辨率的感知損失以及 Ulyanov 的實例規範化的組合 。

▌Face recognition

此工具提供簡單的面部識別 API 。 它可以找到面部特徵,並猜出照片中的人物。

使用 dlib 最先進的面部識別功能構建而成,並通過深度學習構建。 該模型在 Wild 標記的 Labeled Faces 中具有 99.38% 的準確度。

這還提供了一個簡單的 face_recognition 命令行工具,可以讓您從命令行對圖像文件夾進行人臉識別!

▌Deep photo style transfer

另一個十分好用的圖片風格轉換工具。 這篇文章裏包含本應用的代碼和研究論文: Deep Photo Style Transfer 。 它提供了簡單的API來合併樣式和源圖像。 令人印象深刻的圖像樣式轉移工具。

▌Fast Text

FastText 是一個有效學習單詞意思和句子分類的庫。

爲了更好地瞭解這個項目,請轉到他們的文本分類教程,該教程展示瞭如何在監督學習中使用該庫。 文本分類的目標是將文檔(例如電子郵件,帖子,文本消息,產品評論等)分配給一個或多個類別。

▌AirSim

AirSim 是一款基於 Unreal Engine 的無人機,汽車的模擬器。 它是開源的,跨平臺的,它支持硬件在環,並支持市面上流行的飛行控制器(如 PX4 )用於物理和視覺逼真的模擬。 這是一個 Unreal 插件,可以簡單地插入到你想要的任何 Unreal 的環境中。

▌Image restoration

機器學習可以做的比我們想象的要多。 Deep Image Prior 是基於神經網絡的修復圖像工具 – 並不是機器學習。

此工具可以恢復帶有劃痕、壞點和/或不需要的文本標記的損壞圖像。

▌Open Pose

Open Pose 代表了第一個在單個圖像上聯合檢測人體、手、面部和足部關鍵點(總共 135 個關鍵點)的實時多人系統。

▌PirateAT

PirateAI 在模擬環境(島嶼)中訓練自主代理(海盜)。 這個倉庫運行一個訓練管道,在遊戲(尋找寶藏)和模型訓練課程( Keras + hyperopt )之間交替。

▌EmojiIntelligence

與此列表中的許多項目相比,這個項目相當簡單,但它是學習神經網絡如何工作的良好起點。 項目實現是在沒有任何庫的純 Swift 中,並且很容易模仿。

▌Deep Exemplar-Based Colorization

它是第一個使用深度學習的基於樣本的局部着色工具。 給定參考的彩色圖像後,我們的卷積神經網絡直接將灰度圖像映射到輸出彩色圖像。 這是基於 Deep Exemplar-based Colorization 論文的實現。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章