Github 最受歡迎的深度學習項目 TOP 20

必須做好一些是LINUX平臺,甚至沒有教材根本需要摸索學習的準備,如果有那個變成為在線服務的請第一時間通知我們

截止到 2017年 5月14日,Github 最受歡迎的深度學習項目 TOP 20 是哪些吧(統計難免不完善,歡迎評論補充)。我們的這份榜單也會持續更新。

1. TensorFlow

Star:56,796

Github 地址:https://github.com/tensorflow/tensorflow

TensorFlow是一個開源軟件庫,使用數據流圖(data flow graph)進行數值計算。圖中的節點表示數學運算,而圖形邊緣表示在它們之間流動的多維數據陣列(張量)。 這種靈活的架構讓人能將計算部署到桌面、服務器或移動設備中的一個或多個CPU或GPU,而無需重寫代碼。TensorFlow 還有一個數據可視化工具包 TensorBoard。

TensorFlow 由 Google Brain 團隊研究人員和工程師開發,用于進行機器學習和深層神經網絡研究。不久前發布了 TensorFlow 1.0 版本。

2. scikit-learn

Star:18,516

Github 地址:https://github.com/scikit-learn/scikit-learn

scikit-learning是一個用于機器學習的 Python 模塊,建立在 SciPy 之上,并按照 3-Clause BSD 許可證分發。該項目于 2007 年由 David Cournapeau 開始,作為“Google夏季代碼”項目,此后,許多志愿者做出了貢獻。目前由志愿者團隊維護。

志愿者的力量是強大的。

3. Caffe(Caffe2)

Star:17,795

Github 地址:https://github.com/BVLC/caffe

Caffe 是一個深刻的學習框架,設計時注重表達(expression)、速度和模塊化。根據 Github 介紹,Caffe 由伯克利 AI(BAIR)/伯克利視覺與學習中心(BVLC)及社區貢獻者開發。Caffe 有一個非常活躍的開發者社區。

去年 11 月,Caffe 主要作者、Facebook 研究科學家賈揚清在 Facebook 官往發文,介紹了 Caffe2go,一款規模更小、訓練速度更快、對計算性能要求較低的機器學習框架,在手機上也能運行神經網絡模型。但令人震驚,Caffe2go 截止發稿前 Github 星級為 0。

今年 4月,Facebook 宣布開源跨平臺的深度學習框架 Caffe2,輕量級、模塊化,在移動端和云上都做了優化。同時提供的還有 C++ 和 Python API,以及模型庫 Caffe2 Model Zoo,里面有視覺、語音、翻譯等預訓練模型,方便開發人員和研究者直接使用。Caffe2 目前在 Github 星級為 4602。

Caffe2 Github 地址:https://github.com/caffe2/caffe2

4. Keras

Star:15,515

GitHub 地址:https://github.com/fchollet/keras

Keras是一個高級神經網絡 API,用 Python 編寫,能夠運行在 TensorFlow 或者 Theano 上。Keras 的開發重點是實現快速實驗,能夠用盡可能少的延遲從理念到結果,是進行良好研究的關鍵,也是 Keras 受歡迎的一大原因。

5. Show and Tell:神經圖說生成器

Star:14,620(去年 8 月 10,563)

GitHub 地址:https://github.com/tensorflow/models/tree/master/im2txt

這是 Oriol Vinyals et. al.(2016)的論文“Show and Tell: Lessons learned from the 2015 MSCOCO Image Captioning Challenge”的用TensorFlow實現的 image-to-text 圖片說明生成模型。

Show and Tell 模型是一個學習如何描述圖片的深度神經網絡。生成的圖片說明是一個完整的句子,下面是一些例子:

5. Neural Style

Star:13,673(去年 8 月為 10,148)

Github 地址:https://github.com/jcjohnson/neural-style

這個項目是用 Torch 對 Leon A. Gatys, Alexander S. Ecker, 和 Matthias Bethge 等人的論文“A Neural Algorithm of Artistic Style”的一個實現。論文中提出一種算法,用卷積神經網絡將一幅圖像的內容與另一幅圖像的風格進行組合。下面是一個將梵高《星夜》的藝術風格轉移到斯坦福大學校園夜景的照片中的效果:

將不同的藝術風格應用到同樣一幅圖像中會得出有趣的效果。論文中提供了各種風格的德國賓根大學圖像:

6. CNTK

Star:10,673

Github 地址:https://github.com/Microsoft/CNTK

CNTK 是微軟的開源深度學習框架,支持大部分流行的神經網絡。2015 年 2 月,官方報道了一個基準性能測試結果,針對一個 4 層全連接神經網絡,CNTK 與 Caffe、TensorFlow、Theano 和 Torch 對比,速度要快上 1.5 倍。

去年 10 月,微軟提供了 CNTK 升級版。本次升級最大的亮點在于增加了 Python 綁定。另外,新版本工具包跨服務器處理能力也得到了提升,能有效加快處理速度,并支持增強學習的實踐。

7. Tesseract

Star:10,370

Github 地址:https://github.com/tesseract-ocr/tesseract

Tesseract 支持 unicode(UTF-8),可以直接識別超過 100 種語言,也可以在訓練后識別其他語言。

Tesseract 支持各種輸出格式:plain-text、hocr(html)和 pdf。

Tesseract 最初是惠普實驗室開發的,2005 年開源。2006 年以后由谷歌開發。

8. Deep Dream

Star:10,156(去年 8 月 9042)

Github 地址:https://github.com/tesseract-ocr/tesseract

需要說明,這不是谷歌官方 Deep Dream 的 Github 庫。這個庫里包含了有示例代碼的 IPython Notebook,補充了 Google Research 官方博客關于 Neural Network Art 的博文。

很多開發人員使用這個庫里描述的技術制作了腦洞大開的圖像。我們也期待你的嘗試。對了,如果你將圖像發布到 Google+,Facebook 或 Twitter,請務必使用 #deepdream 做上標記,方便其他研究人員查看。

9. MXNet

Star:9615

Github 地址:https://github.com/dmlc/mxnet

MXNet 是一個旨在提高效率和靈活性的深度學習框架。因得到亞馬遜的大力而成為常用深度學習框架的黑馬。MXNet 可以混合符號和命令式編程,從而最大限度地提高效率和生產力。在其核心,MXNet 包含一個動態依賴調度程序(dynamic dependency scheduler),可以自動將符號運算和命令運算并行。頂部的圖形優化層使 MXNet 符號執行速度快,記憶效率高。此外,MXNet 是便攜式和輕量級的,可有效擴展到多顆 GPU 和多臺機器。

10. RocAlphaGo

Star:8065(去年 8 月 7734)

Github 地址:https://github.com/Rochester-NRT/RocAlphaGo

這個項目是有學生主導的一個獨立項目,使用 Python 和 Keras 重新實現了 DeepMind 在2016年發表的論文 "Mastering the game of Go with deep neural networks and tree search"(《用深度神經網絡和樹搜索學習圍棋》)。使用 Python 和 Keras 的這個選擇優先考慮了代碼清晰度,至少在早期階段是如此。

這個項目目前仍在進行中,還不是 AlphaGo 的完全實現。項目先期關注 DeepMind AlphaGo 中神經網絡的訓練方面,而且已經得到論文中樹搜索算法的一個簡單單線程的實現,雖然速度上無法與 DeepMind 相比。

11. Neural Doodle

Star:7763(去年 8 月 7306)

Github 地址:https://github.com/alexjc/neural-doodle

使用深度神經網絡把你的二流涂鴉變成藝術一般的作品!這個項目是 Champandard(2016)的論文 “Semantic Style Transfer and Turning Two-Bit Doodles into Fine Artworks”的一個實現,基于 Chuan Li 和 Michael Wand(2016)在論文“Combining Markov Random Fields and Convolutional Neural Networks for Image Synthesis”中提出的 Neural Patches 算法。這篇文章中深入解釋了這個項目的動機和靈感來源:https://nucl.ai/blog/neural-doodles/

doodle.py 腳本通過使用1個,2個,3個或4個圖像作為輸入來生成新的圖像,輸入的圖像數量取決于你希望生成怎樣的圖像:原始風格及它的注釋(annotation),以及帶有注釋(即你的涂鴉)的目標內容圖像(可選)。該算法從帶風格圖像中提取 annotated patches,然后根據它們匹配的緊密程度用這些 annotated patches 漸進地改變目標圖像的風格。

11. Open Face

Star:7122(去年 8 月 6072)

Github 地址:https://github.com/cmusatyalab/openface

OpenFace 是一個使用深度神經網絡,用 Python 和 Torch 實現人臉識別的項目。神經網絡模型基于 Google Florian Schroff 等人的 CVPR 2015 論文“FaceNet: A Unified Embedding for Face Recognition and Clustering” ,Torch 讓網絡可以在 CPU 或 CUDA 上運行。

這是CMU的一個使用深度神經網絡進行人臉識別的免費、開源項目。該項研究得到美國國家科學基金會(NSF)的支持,以及英特爾、谷歌、 Vodafone、英偉達和 Conklin Kistler 的額外支持。這個 Github 庫中包含 batch-represent、real-time web、compare.py、vis-outputs.lua、classifier.py 等的 demo 和測試、訓練、評估等的代碼。

12. Torch

Star:6843

Github 地址:https://github.com/torch/torch7

PyTorch是一個提供兩個高級功能的 python 包:① 具有強 GPU 加速度的張量計算(如numpy);②深度神經網絡建立在基于磁帶的自動調整系統(tape-based autograd system)Torch 也是常用深度學習框架之一,是 Torch7 中的 main package,其中定義了用于多維張量和數學運算的數據結構。此外,Torch 提供了很多實用功能,比如訪問文件的實用程序,序列化任意類型的對象和其他有用的實用程序。

13. Neural Enhance:深度學習做圖像高分辨率

Star:6557

Github 地址:https://github.com/alexjc/neural-enhance

見過刑偵劇里將模糊圖片變清晰的情節嗎?由于深度學習和 #NeuralEnhance,你也可以訓練一個神經網絡把圖像放大 2 倍乃至 4 倍而且高清。增加神經元的數量或使用類似于低分辨率圖像的數據集進行訓練,還可以獲得更好的結果。具體怎么做?去看 Github 介紹吧。

14. PyTorch

Star:4988

Github 地址:https://github.com/pytorch/pytorch

PyTorch是一個提供兩個高級功能的 python 包:①具有強 GPU 加速度的張量計算(如numpy);②深度神經網絡建立在基于磁帶的自動調整系統(tape-based autograd system)。考慮到它的發布時間,PyTorch 大有潛力。

你可以重用你喜歡的 python 軟件包(如 numpy,scipy 和 Cython),在有需要時對 PyTorch 進行擴展。

就在 5 月 4 日,PyTorch 發布了最新版,API 有一些變動,增加了一系列新的特征,多項運算或加載速度提升,而且修改了大量 bug。官方文檔也提供了一些示例。

15. Sonnet:DeepMind 內部開源深度學習框架

Star:4691

Github 地址:https://github.com/deepmind/sonnet

DeepMind 研究人員發現 TensorFlow 的靈活性和適應性適合于為特定目的構建更高級別的框架,于是他們就寫了一個這樣的框架,可以用 TensorFlow 快速構建神經網絡模塊,也就是 Sonnet 框架。

開源 Sonnet,可以使 DeepMind 創建的其他模型輕松地與社區共享,DeepMind 表示他們希望開發者社區能夠使用 Sonnet 進行自己的研究。Sonnet 被專門設計用于與 TensorFlow 協同工作,不會阻止訪問底層細節,如 Tensors 和可變范圍等。Sonnet 編寫的模型可以與原始的 TensorFlow 代碼以及其他高級庫中的模型自由混合。

Sonnet 將定期更新。

16. srez

Star:4288(去年 8 月 3951)

Github 地址:https://github.com/david-gpu/srez

srez(super-resolution through deep learning),即通過深度學習實現圖像超分辨率。這個項目是利用深度學習將 16x16 的圖像分辨率增加 4 倍,基于用來訓練神經網絡的數據集,所得到的圖像具有鮮明的特征。

下圖是這個網絡所能做到的一個隨機、沒有特意挑選的示例。從左到右,第一列是 16x16 的輸入圖像,第二列是利用標準的雙三次插值算法(bicubic interpolation)所能得到的結果,第三列是我們的神經網絡的結果,然后最右列是原本的真實圖像。

如你所見,神經網絡能夠產生與原始的人臉非常相似的圖像。由于用于訓練的數據集主要由面朝正前方而且光線良好的人臉圖像組成,所以當臉的朝向不是正前方、光線不足或臉被眼鏡或手遮住了部分時,輸出的效果會比較差。

17. CycleGAN

Star:3773

Github 地址:https://github.com/junyanz/CycleGAN

由于微信圖片上傳大小限制,更清晰的圖片請到 Github 查看

伯克利視覺組的研究,用于學習沒有輸入-輸出對的圖像到圖像轉換(即 pix2pix)的 Torch 實現,例如:

此外,另一項相關研究也十分不錯:

pix2pix

Star:2965

Github 地址:https://github.com/phillipi/pix2pix

18. open_nsfw

Star:3338(去年 8 月 3076)

Github 地址:https://github.com/yahoo/open_nsfw

這是雅虎構建的用于檢測圖片是否包含不適宜工作場所(NSFW)內容的深度神經網絡項目,GitHub 庫中包含了網絡的 Caffe 模型的代碼。檢測具有攻擊性或成人內容的圖像是研究人員進行了幾十年的一個難題。隨著計算機視覺技術和深度學習的發展,算法已經成熟,雅虎的這個模型能以更高的精度分辨色情圖像。

由于 NSFW 界定其實是很主觀的,有的人反感的東西可能其他人并不覺得如何。雅虎的這個深度神經網絡只關注NSFW內容的一種類型,即色情圖片,所以該模型不適用于檢測素描、文字、動畫、暴力圖片等內容。

19. NeuralTalk2

Star:3337(去年 8 月 3010)

Github 地址:https://github.com/karpathy/neuraltalk2

循環神經網絡(RNN)可以用于給圖像取標題。NeuralTalk2 比原始版本的 NeuralTalk 更快而且性能更好。與原來的 NeuralTalk 相比,NeuralTalk2 的實現是批量的,可以使用 Torch 在 GPU上運行,并且支持 CNN 微調。這些都使得語言模型(~100x)的訓練速度大大加快,但由于我們還有一個 VGGNet,因此總體上的提升沒有很多。但是這仍然是個好模型,可以在 2~3 天里訓練好,而且表現出的性能非常好。

Google Brain 2016年9月22日發布了 Vinyals et al.(2015)的圖說模型(前文介紹的Show and Tell 模型)。它的核心模型與 NeuralTalk2(一個CNN后面跟著RNN)非常相似,但由于 Google 有更好的CNN,加上一些小技巧和更細致的工程,Google 發布的模型應該比 NeuralTalk2 的效果更好。這個項目里用 Torch 實現的代碼將作為教育目的保留。

20. Colornet

Star:3093(去年 8 月 2956)

Github 地址:https://github.com/pavelgonchar/colornet

Colornet 是一個給灰度圖像自動上色的神經網絡。效果如上圖所示。

以下則為上次入選,這次卻沒有進入TOP20 的項目(Star 低于 2000 的項目就不納入統計了):

image-analogies

Star:2893(去年 8 月 2769)

GitHub 地址:https://github.com/awentzonline/image-analogies

“神經圖像類比”(neural image analogies)這個項目基本上是 A. Hertzmann et. al(2001)的論文“Image Analogies”的一個實現。在這個項目中,我們使用了 VGG16 的特征,利用 Chuan Li, Michael Wand (2016) 的論文“Combining Markov Random Fields and Convolutional Neural Networks for Image Synthesis”中描述的方法進行patch的匹配和混合。初始代碼改編自 Keras 的“神經風格遷移”示例。

DeepLearningFlappyBird

Star:2866(去年 8 月 2143)

Github 地址:https://github.com/yenchenlin/DeepLearningFlappyBird

這個項目使用深度Q網絡(Deep Q-Network,DQN)學習玩 Flappy Bird 游戲。

只能說,FlappyBird 的風潮已經過去了……

這個項目靈感來自使用深度增強學習玩 Atari 游戲(Mnih, Volodymyr, et al. "Playing atari with deep reinforcement learning." 2013),論文中提出深度Q學習算法(Deep Q Learning algorithm),我們發現這個算法可以推廣到 Flappy Bird 游戲上。

DQN 是一個卷積神經網絡,用 Q-learning 的變體進行訓練,其輸入是原始像素,輸出是一個預估未來的獎勵的價值函數。由于DQN的訓練的每個時間步驟都需要觀察屏幕中的原始像素值,Kevin Chen 發現刪除原始游戲中的背景可以讓收斂更快。這個過程如下圖所示:

?
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,763評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,238評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,823評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,604評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,339評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,713評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,712評論 3 445
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,893評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,448評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,201評論 3 357
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,397評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,944評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,631評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,033評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,321評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,128評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,347評論 2 377

推薦閱讀更多精彩內容