[codes]LeNet-5

所属分类:matlab编程
开发工具:Others
文件大小:11938KB
下载次数:505
上传日期:2014-12-04 09:42:39
上 传 者随便啦
说明:  是matlab的代码,关于yann Lecun在89年提出的cnn的原型,这个代码成功应用于欧洲很多国家的手写支票识别
(Is matlab code on cnn yann Lecun prototype made in 1989, this code successfully applied to handwriting recognition check many European countries)

文件列表:
CNN_matlab代码 (0, 2013-07-18)
CNN_matlab代码\license.txt (1337, 2012-10-25)
CNN_matlab代码\ver 0.83 (0, 2013-07-25)
CNN_matlab代码\ver 0.83\@cnn (0, 2012-10-25)
CNN_matlab代码\ver 0.83\@cnn\adapt_dw.m (3853, 2009-04-25)
CNN_matlab代码\ver 0.83\@cnn\calchx.m (5111, 2009-05-29)
CNN_matlab代码\ver 0.83\@cnn\calcje.m (5946, 2012-09-19)
CNN_matlab代码\ver 0.83\@cnn\calcMCR.m (710, 2009-12-31)
CNN_matlab代码\ver 0.83\@cnn\check_finit_dif.m (2250, 2009-05-06)
CNN_matlab代码\ver 0.83\@cnn\cnn.m (7186, 2010-02-08)
CNN_matlab代码\ver 0.83\@cnn\cnn_size.m (973, 2009-03-28)
CNN_matlab代码\ver 0.83\@cnn\cutrain.m (7409, 2010-02-09)
CNN_matlab代码\ver 0.83\@cnn\init.m (3873, 2009-05-29)
CNN_matlab代码\ver 0.83\@cnn\sim.m (2967, 2009-05-29)
CNN_matlab代码\ver 0.83\@cnn\subsasgn.m (8998, 2009-12-31)
CNN_matlab代码\ver 0.83\@cnn\subsref.m (1708, 2009-03-28)
CNN_matlab代码\ver 0.83\@cnn\train.m (6770, 2010-02-08)
CNN_matlab代码\ver 0.83\back_conv2.m (716, 2009-05-29)
CNN_matlab代码\ver 0.83\back_subsample.m (1054, 2010-01-20)
CNN_matlab代码\ver 0.83\changelog.txt (1123, 2012-10-23)
CNN_matlab代码\ver 0.83\changelog.txt~ (1005, 2012-09-19)
CNN_matlab代码\ver 0.83\cnet.mat (570755, 2010-02-08)
CNN_matlab代码\ver 0.83\cnet_tool.m (23102, 2012-09-19)
CNN_matlab代码\ver 0.83\cnn2singlestruct.m (1005, 2009-11-05)
CNN_matlab代码\ver 0.83\cnn_gui.fig (9952, 2010-01-05)
CNN_matlab代码\ver 0.83\cnn_gui.m (12131, 2010-01-05)
CNN_matlab代码\ver 0.83\cucalcMCR.m (712, 2010-01-20)
CNN_matlab代码\ver 0.83\cutrain_cnn.m (5471, 2010-02-03)
CNN_matlab代码\ver 0.83\fastFilter2.m (128, 2009-05-28)
CNN_matlab代码\ver 0.83\license.txt (1337, 2012-10-23)
CNN_matlab代码\ver 0.83\license.txt~ (1337, 2011-04-11)
CNN_matlab代码\ver 0.83\MNIST (0, 2013-07-25)
CNN_matlab代码\ver 0.83\MNIST\t10k-images.idx3-ubyte (7840016, 1998-01-26)
CNN_matlab代码\ver 0.83\MNIST\t10k-labels.idx1-ubyte (10008, 1998-01-26)
CNN_matlab代码\ver 0.83\MNIST\train-images.idx3-ubyte (47040016, 1996-11-18)
CNN_matlab代码\ver 0.83\MNIST\train-labels.idx1-ubyte (60008, 1996-11-18)
CNN_matlab代码\ver 0.83\mse.m (819, 2012-09-19)
CNN_matlab代码\ver 0.83\preproc_data.m (1112, 2012-09-19)
CNN_matlab代码\ver 0.83\preproc_image.m (412, 2009-06-01)
CNN_matlab代码\ver 0.83\purelin.m (774, 2012-09-19)
... ...

CNN Class, ver 0.8. This project provides matlab class for implementation of convolutional neural networks. This networks was created by Yann LeCun and have sucessfully used in many practical applications, such as handwriten 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 wokrs almost independently from NN toolbox (coming soon full independence). The significant improovement in this version is a presence of cudacnn mex-file, which speeds up the training up to 44 times using NVidia's CUDA technology.You'll need a CUDA-capable graphic card and CUDA SDK (especially cudart.dll and cublas.dll). The source of cudacnn.mex is not included by now, but I plan to do It in future. Currently only stochastic gradient is supported by CUDA-training, but Hessian approximation is going to be soon also. This release includes sample of handwriten 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 gigit either pained in painitg area or downloaded from MNIST database. If you interested in training you should open train_cnn.m, set all parameters following to comments and start learning by runing it. The action sequence for creation of arbitrary convolutional neural network is following: 1. Create cnn object. 2. Set archtecture (number of layers, weights, training parameters, etc). 3. Call init method. 4. Define connection matrices for layers if necessary. 5. Load training data. 6. Preprocess training data. 7. Start training. 8. Test neural net. There're several limitations in current version: 1. Network can have only one input for image (e.g. no stereo images simulateously). 2. You have to set connection matrix after the initialization. 3. MNIST database of handwriten digits not included in this distribution, you can download it from http://yann.lecun.com/exdb/mnist/index.html Next version expectations: 1. Ability to work with several images simulateously. 2. Image Aquision toolbox integration. 3. Face detection sample. References: 1. Y. LeCun, L. Bottou, G. Orr and K. Muller: Efficient BackProp, in Orr, G. and Muller K. (Eds), Neural Networks: Tricks of the trade, Springer, 19*** URL:http://yann.lecun.com/exdb/publis/index.html 2. Y. LeCun, L. Bottou, Y. Bengio and P. Haffner: Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE, 86(11):2278-2324, November 19*** URL:http://yann.lecun.com/exdb/publis/index.html 3. Patrice Y. Simard, Dave Steinkraus, John C. Platt: Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis URL:http://research.microsoft.com/apps/pubs/?id=68920 4. Thanks to Mike O'Neill for his great article, wich is summarize and generalize all the information in 1-3 for better understandig for programming: URL: http://www.codeproject.com/KB/library/NeuralNetRecognition.aspx 5. Also thanks to Jake Bouvrie for his "Notes on Convolutional Neural Networks", particulary for the idea to debug the neural network using finite differences URL: http://web.mit.edu/jvb/www/cv.html ========== (c) Mikhail Sitotenko. This software distributing under BSD licence.

近期下载者

相关文件


收藏者