GitHub上最受歡迎的57個深度學習開源項目
來源:Top Deep Learning Projects
深度學習在各個領域大放異彩,讓很多人嘗到了人工智慧的甜頭。本文向大家推薦github上最受歡迎的57款開源深度學習項目,你可以根據自己的需求和喜好試玩,也許會發現開啟新世界的大門的鑰匙。在下面的介紹中,將按照項目的star數量進行排列,當然隨著時間的變化,排名可能會有差異。
TensorFlow
https://github.com/tensorflow/tensorflow
作為谷歌的第二代機器學習系統,TensorFlow在過去的一年裡成為了github上當之無愧的最受歡迎項目。按照谷歌所說,在某些基準測試中,TensorFlow 的表現比第一代的 DistBelief 快了2倍。
TensorFlow 內建深度學習的擴展支持,任何能夠用計算流圖形來表達的計算,都可以使用 TensorFlow。任何基於梯度的機器學習演算法都能夠受益於 TensorFlow 的自動分 化(auto-differentiation)。通過靈活的 Python 介面,要在 TensorFlow 中表達想法也會很容易。
Caffe
https://github.com/BVLC/caffe
Caffe是一個高效的開源深度學習框架。由表達式,速度和模塊化組成。Caffe給出了模型的定義、最優化設置以及預訓練的權重,方便立即上手。Caffe能夠運行很棒的模型和海量的數據,可以使用Caffe提供的各層類型來定義自己的模型。
Neural style
https://github.com/jcjohnson/neural-style
Torch實現的神經網路演算法。Neural style 是讓機器模仿已有畫作的繪畫風格來把一張圖片重新繪製的演算法。
deepdream
https://github.com/google/deepdream
Deep Dream是一款圖像識別工具。一個原本用來將圖片分類的AI,讓我們看到不一樣的世界~在把一張圖片喂入之後,選擇某一層神經網路(Google 的神經網路有 10-30 層)進行重複處理的次數和變形的程度,就能獲得一張非常後現代的「畫作」。
Keras
https://github.com/fchollet/keras
一款Python實現的深度學習庫,包括卷積神經網路、遞歸神經網路等。運行在Theano和TensorFlow之上。
Keras是一個極簡的、高度模塊化的神經網路庫,採用Python(Python 2.7-3.5.)開發,能夠運行在TensorFlow和Theano任一平台,好項目旨在完成深度學習的快速開發。
RocAlphaGo
https://github.com/Rochester-NRT/RocAlphaGo
學生主導的一個獨立項目,從新實現了 DeepMind在2016 Nature發表的內容, 《用深度神經網路和樹搜索學習圍棋》 (Nature 529, 484-489, 28 Jan 2016)。
TensorFlow Models
https://github.com/tensorflow/models
基於TensorFlow開發的模型。這個庫包含了各種機器學習模型在TensorFlow實踐。
Neural Doodle
https://github.com/alexjc/neural-doodle
運用深度神經網路將塗鴉變為優雅的藝術品,從照片生成無縫紋理,轉變圖片風格,進行基於實例的提升,等等…還有更多!(語義風格傳遞的實現)
CNTK
https://github.com/Microsoft/CNTK
深度學習工具包 。來自微軟公司的CNTK工具包的效率,「比我們所見過的都要瘋狂」。 這部分歸功於CNTK可藉助圖形處理單元(GPU)的能力,微軟自稱是唯一公開「可擴展GPU」功能的公司。(從單機上的1個、延伸至超算上的多個) 在與該公司的網路化GPU系統(稱之為Azure GPU Lab)匹配之後,它將能夠訓練深度神經網路來識別語音,讓Cortana虛擬助理的速度達到以前的十倍。
TensorFlow Examples
https://github.com/aymericdamien/TensorFlow-Examples
適合初學者的 TensorFlow 教程和代碼示例,作者已經做了相關筆記和代碼解釋。
ConvNet JS
https://github.com/karpathy/convnetjs
ConvNetJS 是用 JavaScript 實現的神經網路,同時還有基於瀏覽器的 demo。
Torch
https://github.com/torch/torch7
Torch7 是一個科學計算框架,支持機器學習演算法。易用而且提供高效的演算法實現,得益於 LuaJIT 和一個底層的 C 實現。
OpenFace
https://github.com/cmusatyalab/openface
基於深度學習網路的面部識別。Openface是一個基於深度神經網路的開源人臉識別系統。該系統基於谷歌的paper《FaceNet: A Unified Embedding for Face Recognition and Clustering》。Openface是卡內基梅隆大學的Brandon Amos主導的。
MXNet
https://github.com/dmlc/mxnet
輕巧、便攜、靈活的分散式/移動深度學習框架,支持Python, R, Julia, Scala, Go, Javascript等等語言。
MXNet是一款設計為效率和靈活性的深度學習框架。它允許你混合符號編程和命令式編程,從而最大限度提高效率和生產力。在其核心是一個動態的依賴調度,它能夠自動並行符號和命令的操作。一個圖形優化層,使得符號執行速度快,內存使用高效。這個庫便攜,輕量,而且能夠擴展到多個GPU和多台機器。
Theano
https://github.com/Theano/Theano
Theano 是一個 Python 庫,用來定義、優化和模擬數學表達式計算,用於高效的解決多維數組的計算問題。
Leaf
https://github.com/autumnai/leaf
是一個開放的機器學習框架,為黑客建立經典,深或混合機器學習應用。它的靈感來自於TensorFlowTorch, Caffe, Rust和眾多的研究論文,並提出模塊化、性能和便攜性的深度學習。
Char RNN
https://github.com/karpathy/char-rnn
多層遞歸神經網路的字元級別語言模型,基於Torch開發。它實現了多層遞歸神經網路(RNN,LSTM、和GRU)字元級語言模型的訓練/採樣。如果你是Torch/Lua/Neural Nets新手,那麼這對於你去理解它們有很大的幫助。
Neural Talk
https://github.com/karpathy/neuraltalk
NeuralTalk是一個Python+numpy項目,用多模式遞歸神經網路描述圖像。
deeplearning4j
https://github.com/deeplearning4j/deeplearning4j
基於Hadoop 和 Spark的Java, Scala & Clojure深度學習工具。
Deeplearning4j(簡稱DL4J)是為Java和Scala編寫的首個商業級開源分散式深度學習庫。DL4J與Hadoop和Spark集成,為商業環境(而非研究工具目的)所設計。Skymind是DL4J的商業支持機構。
Deeplearning4j 技術先進,以即插即用為目標,通過更多預設的使用,避免太多配置,讓非研究人員也能夠進行快速的原型製作。DL4J同時可以規模化定製。DL4J遵循Apache 2.0許可協議,一切以其為基礎的衍生作品均屬於衍生作品的作者。
TFLearn
https://github.com/tflearn/tflearn
深度學習庫,包括高層次的TensorFlow介面。它是被設計來在加速試驗提供了一個更高級別的API,並且和其他的部分完全兼容。
TensorFlow Playground
https://github.com/tensorflow/playground
神經網路模型示例。TensorFlow Playground是一個神經網路的互動式可視化,這是使用d3.js寫的。
OpenAI Gym
https://github.com/openai/gym
一種用於開發和比較強化學習演算法的工具包。
Magenta
https://github.com/tensorflow/magenta
Magenta: 音樂和藝術的生成與機器智能。
Google Brain團隊的一組研究人員發布了一個項目Project Magenta,其主要目標是利用機器學習創作藝術和譜寫曲子。Project Magenta使用了 TensorFlow系統,研究人員在GitHub上開源了他們的模型和工具。
研究人員稱,機器生成的音樂已經存在了許多年,但它們在都缺乏長的敘事藝術。Project Magenta就試圖將故事作為機器生成音樂的重要部分。Google公布了一個DEMO(MP3)表現Magenta項目的成果。
Colornet
https://github.com/pavelgonchar/colornet
用神經網路模型給灰度圖上色。
Synaptic
https://github.com/cazala/synaptic
基於node.js和瀏覽器的免架構神經網路庫。
Neural Talk 2
https://github.com/karpathy/neuraltalk2
Torch開發的圖像簡介生成代碼,運行在GPU上。
Image Analogies
https://github.com/awentzonline/image-analogies
使用神經匹配和融合生成相似圖形。
TensorFlow Tutorials
https://github.com/pkmital/tensorflow_tutorials
Tensorflow,從基礎原理到應用。
Lasagne
https://github.com/Lasagne/Lasagne
基於Theano訓練和構建神經網路的輕型函數庫。
PyLearn2
https://github.com/lisa-lab/pylearn2
基於Theano的機器學習庫。
LISA-lab Deep Learning Tutorials
https://github.com/lisa-lab/DeepLearningTutorials
深度學習教程筆記和代碼。詳情參見wiki頁面。
Neon
https://github.com/NervanaSystems/neon
Nervana?開發的一款快速、可擴展、易上手的Python深度學習框架。
neon 是 Nervana System 的深度學習軟體。根據Facebook一位研究者的基準測試,Nervana的軟體比業界知名的深度學習工具性能都要高,包括Facebook自己的Torch7和Nvidia的cuDNN。
Matlab Deep Learning Toolbox
https://github.com/rasmusbergpalm/DeepLearnToolbox
Matlab/Octave的深度學習工具箱。包括深度信念網路、自動編碼機、卷積神經網路、卷積自動編碼機和vanilla神經網路等。每種方法都有入門示例。
Deep Learning Flappy Bird
https://github.com/yenchenlin1994/DeepLearningFlappyBird
使用深度強化學習破解Flappy Bird遊戲(深度 Q-學習)。
dl-setup
https://github.com/saiprashanths/dl-setup
在深度學習機上設置軟體說明。
Chainer
https://github.com/pfnet/chainer
一款靈活的深度學習神經網路框架。
Chainer是深度學習的框架,Chainer在深度學習的理論演算法和實際應用之間架起一座橋樑。它的特點是強大、靈活、直觀,被認為是深度學習的靈活框架。
Neural Story Teller
https://github.com/ryankiros/neural-storyteller
看圖講故事的遞歸神經網路模型。
DIGITS
https://github.com/NVIDIA/DIGITS
深度學習GPU訓練系統。
Deep Jazz
https://github.com/jisungk/deepjazz
基於Keras和Theano生成jazz的深度學習模型!
Tiny DNN
https://github.com/tiny-dnn/tiny-dnn
僅引用頭文件,無依賴且使用 C ++ 11 的深度學習框架。
Brainstorm
https://github.com/IDSIA/brainstorm
快速、靈活、有趣的神經網路。
dl-docker
https://github.com/saiprashanths/dl-docker
一個用於深度學習的一體化 Docker 鏡像。 包含所有流行的 DL 框架(TensorFlow,Theano,Torch,Caffe等)。
Darknet
https://github.com/pjreddie/darknet
C語言版本的開源神經網路。
Theano Tutorials
https://github.com/Newmu/Theano-Tutorial
基於Theano的機器學習入門教程,從線性回歸到卷積神經網路。
RNN Music Composition
https://github.com/hexahedria/biaxial-rnn-music-composition
一款生成古典音樂的遞歸神經網路工具。
Blocks
https://github.com/mila-udem/blocks
用於構建和訓練神經網路模型的Theano框架
TDB
https://github.com/ericjang/tdb
TensorFlow的互動式、節點調試和可視化的工具。
TensorDebugger (TDB) 是深度學習調試器,使用斷點和計算機圖形化實時數據流可視化擴展 TensorFlow(谷歌的深度學習框架)。特別的是,TDB 是一個 Python 庫和 一個 Jupyter Notebook 擴展的結合,構建 Google 的 TensorFlow 框架。
Scikit Neural Net
https://github.com/aigamedev/scikit-neuralnetwork
深度神經網路入門工具,類似scikit-learn的分類器和回歸模型。
Veles
https://github.com/samsung/veles
分散式機器學習平台(Python, CUDA, OpenCL)。
VELES 是分散式深度學習應用系統,用戶只需要提供參數,剩下的都可以交給 VELES。VELES 使用 Python 編寫,使用 OpenCL 或者 CUDA,利用基於 Flow 的編程。它是三星開發的另一個 TensorFlow。
Deep Detect
https://github.com/beniz/deepdetect
基於C++11的深度學習介面和伺服器,與Python綁定並支持Caffe。
TensorFlow DeepQ
https://github.com/nivwusquorum/tensorflow-deepq
基於Google Tensorflow的深度Q學習演示。
Caffe on Spark
https://github.com/yahoo/CaffeOnSpark
基於Spark的Caffe。
雅虎認為,深度學習應該與現有的支持特徵工程和傳統(非深度)機器學習的數據處理管道在同一個集群中,創建CaffeOnSpark意在使得深度學習訓練和測試能被嵌入到Spark應用程序中。CaffeOnSpark被設計成為一個Spark深度學習包。
Nolearn
https://github.com/dnouri/nolearn
神經網路庫的抽象,著名的Lasagne。
DCGAN TensorFlow
https://github.com/carpedm20/DCGAN-tensorflow
Stars:568
基於tensorflow實現的深度卷積生成對抗網路。
MatConvNet
https://github.com/vlfeat/matconvnet
MATLAB CNN 計算機視覺應用工具箱。
DeepCL
https://github.com/hughperkins/DeepCL
用於訓練深度卷積神經網路模型的OpenCL庫。
Visual Search Server
https://github.com/AKSHAYUBHAT/VisualSearchServer
可視化搜索伺服器。一個簡單使用TensorFlow,InceptionV3模型和AWS GPU實例實現的視覺搜索伺服器。
代碼實現兩個方法,一個處理圖像搜索的伺服器和一個提取pool3功能的簡單索引器。 最近鄰搜索可以使用近似(更快)或使用精確方法(更慢)以近似方式執行。
推薦閱讀:
※【乾貨】Facebook剛剛開源DrQA項目,手把手教你做一個問答系統
※怎樣參與到全世界優秀的開源項目中?
※Github 預測:2018 你必須關注的開源項目
※測試分類 --- 根據項目流程階段和代碼可見度劃分
※GitHub上火爆的Python項目小匯總