deep learning 源代码集锦

首先推荐几个deep learning工具箱


1. Hinton DBN code

这个不用说了,开山鼻祖Hinton的代码,下载链接:Hinton DBN coce。代码可读性一般,后面我会把我修改后的代码公布出来。

2. Deep learning toolbox

Mathworks上的代码,纯正Matlab代码,CNN部分写的不错,下载链接:DL Toolbox matlab

3. Covolutional DBN

Github项目主页:CDBN 


科研机构

1. 香港中文大学  http://mmlab.ie.cuhk.edu.hk/


Honglak Lee

Ph.D. in Computer Science, Stanford University, 2010 


1.  Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. [code]

2. Unsupervised feature learning for audio classification using convolutional deep belief networks. [code]


工具包:

1.Matlab Environment for Deep Architecture Learning (MEDAL) [code]

包含:

mlnn.m        — Multi-layer neural network
mlcnn.m       — Multi-layer convolutional neural network
rbm.m         — Restricted Boltzmann machine (RBM)
mcrbm.m       — Mean-covariance (3-way Factored) RBM
drbm.m        — Dynamic/conditional RBM 
dbn.m         — Deep Belief Network 
crbm.m        — Convolutional RBM
ae.m          — Shallow autoencoder 
dae.m         — Deep Autoencoder 


2. DeepLearnLab [code] (包含RBM和CRBM)


3. Multimodal Learning with Deep Boltzmann Machines 多模态 [code]


Cuda-convnet

Hinton’s Group 发布的 toolbox,也是其NIPS2012工作的开发工具。 
用C++/CUDA实现的,非常高效。外壳是Python语言,通过简单的修改配置文件来制定网络结构,非常易于使用。Linux/Windows下均可成功编译运行。 
支持CNN的local结构,dropout。 
https://github.com/bitxiong/cuda-convnet

Caffe

Berkeley 视觉和学习组开发的 deeplearning 框架 
同样用C++/CUDA实现的,支持Python 和 Matlab 的外壳。Linux/Windows下均可成功编译运行 
不支持locally-connected covonlution layer 

https://github.com/BVLC/caffe


Convnet

Hinton’s Group最新发布Deeplearning toolbox,内核和 cuda-convnet 类似,最大的亮点是支持多GPU结构

https://github.com/TorontoDeepLearning/convnet

代码链接:

1. convolutionalRBM.m  [code]

A MATLAB / MEX / CUDA-MEX implementation ofConvolutional Restricted Boltzmann Machines.




Theano

http://deeplearning.net/software/theano/

code from: http://deeplearning.net/

 

Deep Learning Tutorial notes and code

https://github.com/lisa-lab/DeepLearningTutorials

code from: lisa-lab

 

A Matlab toolbox for Deep Learning

https://github.com/rasmusbergpalm/DeepLearnToolbox

code from: RasmusBerg Palm

 

deepmat

Matlab Code for Restricted/Deep BoltzmannMachines and Autoencoder

https://github.com/kyunghyuncho/deepmat

code from: KyungHyun Cho http://users.ics.aalto.fi/kcho/

 

Training a deep autoencoder or a classifieron MNIST digits

http://www.cs.toronto.edu/~hinton/MatlabForSciencePaper.html

code from: Ruslan Salakhutdinov and GeoffHinton

 

CNN – Convolutional neural network class

http://www.mathworks.cn/matlabcentral/fileexchange/24291

Code from: matlab

 

Neural Network for Recognition ofHandwritten Digits (CNN)

http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi

 

cuda-convnet

A fast C++/CUDA implementation ofconvolutional neural networks

http://code.google.com/p/cuda-convnet/

 

matrbm

a small library that can train RestrictedBoltzmann Machines, and also Deep Belief Networks of stacked RBM’s.

http://code.google.com/p/matrbm/

code from: Andrej Karpathy

 

Exercise  from UFLDL Tutorial:

http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial

and tornadomeet’s bolg: http://www.cnblogs.com/tornadomeet/tag/Deep%20Learning/

and https://github.com/dkyang/UFLDL-Tutorial-Exercise

 

Conditional Restricted Boltzmann Machines

http://www.cs.nyu.edu/~gwtaylor/publications/nips2006mhmublv/code.html

from Graham Taylor http://www.cs.nyu.edu/~gwtaylor/

 

Factored Conditional Restricted BoltzmannMachines

http://www.cs.nyu.edu/~gwtaylor/publications/icml2009/code/index.html

from Graham Taylor http://www.cs.nyu.edu/~gwtaylor/

 

Marginalized Stacked Denoising Autoencodersfor Domain Adaptation

http://www1.cse.wustl.edu/~mchen/code/mSDA.tar

code from: http://www.cse.wustl.edu/~kilian/code/code.html

 

Tiled Convolutional Neural Networks

http://cs.stanford.edu/~quocle/TCNNweb/pretraining.tar.gz

http://cs.stanford.edu/~pangwei/projects.html

 

tiny-cnn:

A C++11 implementation of convolutionalneural networks

https://github.com/nyanp/tiny-cnn

 

myCNN

https://github.com/aurofable/18551_Project/tree/master/server/2009-09-30-14-33-myCNN-0.07

 

Adaptive Deconvolutional Network Toolbox

http://www.matthewzeiler.com/software/DeconvNetToolbox2/DeconvNetToolbox.zip

http://www.matthewzeiler.com/

 

Deep Learning手写字符识别C++代码

http://download.csdn.net/detail/lucky_greenegg/5413211

from: http://blog.csdn.net/lucky_greenegg/article/details/8949578

 

convolutionalRBM.m

A MATLAB / MEX / CUDA-MEX implementation ofConvolutional Restricted Boltzmann Machines.

https://github.com/qipeng/convolutionalRBM.m

from: http://qipeng.me/software/convolutional-rbm.html

 

rbm-mnist

C++ 11 implementation of Geoff Hinton’sDeep Learning matlab code

https://github.com/jdeng/rbm-mnist

 

Learning Deep Boltzmann Machines

http://web.mit.edu/~rsalakhu/www/code_DBM/code_DBM.tar

http://web.mit.edu/~rsalakhu/www/DBM.html

Code provided by Ruslan Salakhutdinov

 

Efficient sparse coding algorithms

http://web.eecs.umich.edu/~honglak/softwares/fast_sc.tgz

http://web.eecs.umich.edu/~honglak/softwares/nips06-sparsecoding.htm

 

Linear Spatial Pyramid Matching UsingSparse Coding for Image Classification

http://www.ifp.illinois.edu/~jyang29/codes/CVPR09-ScSPM.rar

http://www.ifp.illinois.edu/~jyang29/ScSPM.htm

 

SPAMS

(SPArse Modeling Software) is anoptimization toolbox for solving various sparse estimation problems.

http://spams-devel.gforge.inria.fr/

 

sparsenet

Sparse coding simulation software

http://redwood.berkeley.edu/bruno/sparsenet/

 

fast dropout training

https://github.com/sidaw/fastdropout

http://nlp.stanford.edu/~sidaw/home/start

 

Deep Learning of Invariant Features viaSimulated Fixations in Video

http://ai.stanford.edu/~wzou/deepslow_release.tar.gz

http://ai.stanford.edu/~wzou/

 

Sparse filtering

http://cs.stanford.edu/~jngiam/papers/NgiamKohChenBhaskarNg2011_Supplementary.pdf

 

k-means

http://www.stanford.edu/~acoates/papers/kmeans_demo.tgz

 

others:

http://deeplearning.net/software_links/