CNN - Convolutional neural network class
by Mihail Sirotenko
28 May 2009
(Updated 11 Apr 2011)
This project provides matlab class for implementation of convolutional neural networks.
|
Watch this File
|
| File Information |
| Description |
This project provides matlab class for implementation of convolutional neural networks. This networks was developed by Yann LeCun and have sucessfully used in many practical applications, such as handwritten digits recognition, face detection, robot navigation and others (see references for more info). Because of some architectural features of convolutional networks, such as weight sharing it is imposible to implement it using Matlab Neural Network Toolbox without it's source modifications. That's why this class works almost independently from NN toolbox (coming soon full independence).
This release includes sample of handwritten digits recognition using CNN. If you just want to try it run cnet_tool. You'll see a simple GUI. It loads pretrained convolutional neural net from cnet.mat and recognizes image of digit either painted in painting area or downloaded from MNIST database.
The significant improovement in this version is support of nVidia CUDA technology, which speeds up the training up to 44 times. You'll need a CUDA-capable graphic card and CUDA SDK (especially cudart.dll and cublas.dll). Currently only stochastic gradient is supported by CUDA-training, but Hessian approximation is going to be soon also.
IMPORTANT:since matlabcentral is not allows to include mex-files into submission, you need to download cudacnn.mex (mex32 or mex64) from https://sites.google.com/site/mihailsirotenko/projects/convolutional-neural-network-class for full functionality.
Though without cudacnn.mex this software is also functional in usual way.
To run CUDA-based training use cutrain_cnn.m
Note that ther're some problems with CUDA v3.
The source of cudacnn.mex is not included by now, but I plan to do It in future.
See readme.txt for more details.
Changes in version 0.81:
- Compatibility with Matlab 2010 issue fixed (Thanks to Silvio Filipe)
|
| Acknowledgements |
This submission has inspired the following:
myCNN
|
| Required Products |
Neural Network Toolbox
|
| MATLAB release |
MATLAB 7.4 (R2007a)
|
| Other requirements |
You'll need a CUDA driver, toolkit and to download mex-files from external link (see description) in order to enable CUDA features. |
|
Tags for This File
|
| Everyone's Tags |
|
| Tags I've Applied |
|
| Add New Tags |
Please login to tag files.
|
| Updates |
| 09 Feb 2010 |
1. Support of CUDA-accelerated simulation and training of convolutional neural networks;
2. GUI added, providing RMSE, MCR plots;
3. Ability to choose from 3 training modes added.
See changelog.txt for more. |
| 12 Feb 2010 |
Fixed bug with extra output error in non-cuda training example |
| 11 Apr 2011 |
Compatibility with Matlab 2010 issue fixed (Thanks to Silvio Filipe) |
|
Contact us at files@mathworks.com