深度学习代码注解(一)—— mnistdeepauto
2017-04-04 12:14
316 查看
clear all close all %% 1:参数设置 maxepoch=10; %In the Science paper we use maxepoch=50, but it works just fine. numhid=1000; numpen=500; numpen2=250; numopen=30; %% 2:数据准备 fprintf(1,'Converting Raw files into Matlab format \n'); converter; fprintf(1,'Pretraining a deep autoencoder. \n'); fprintf(1,'The Science paper used 50 epochs. This uses %3i \n', maxepoch); makebatches; % batchdata,第二个维度上的像素值,是 0-1 之间; [numcases, numdims, numbatches]=size(batchdata); % [100*784*600],100*600 ==> 60000,也恰是训练样本的数目,也即batchdata存储的全部是训练样本(不包括 targets); % numcases:行数(batch_size,块内样本的数目),样本数目,numdims:维度数目,列数, % numbatches:块的数目 %% 3:逐层训练 % 第一层: numdims ⇒ numhid(784 ⇒ 1000) fprintf(1,'Pretraining Layer 1 with RBM: %d-%d \n',numdims,numhid); restart=1; rbm; hidrecbiases=hidbiases; save mnistvh vishid hidrecbiases visbiases; % 第二层:numhid ⇒ numen (1000 ==> 500) fprintf(1,'\nPretraining Layer 2 with RBM: %d-%d \n',numhid,numpen); batchdata = batchposhidprobs; % 第二层的输入 numhid=numpen; restart=1; rbm; hidpen=vishid; penrecbiases=hidbiases; hidgenbiases=visbiases; save mnisthp hidpen penrecbiases hidgenbiases; % 第三层:numen ⇒ numen(500 ⇒ 250) fprintf(1,'\nPretraining Layer 3 with RBM: %d-%d \n',numpen,numpen2); batchdata=batchposhidprobs; numhid=numpen2; restart=1; rbm; hidpen2=vishid; penrecbiases2=hidbiases; hidgenbiases2=visbiases; save mnisthp2 hidpen2 penrecbiases2 hidgenbiases2; % 第四层:numen2 ⇒ numopen(250 ==> 30) fprintf(1,'\nPretraining Layer 4 with RBM: %d-%d \n',numpen2,numopen); batchdata=batchposhidprobs; numhid=numopen; restart=1; rbmhidlinear; hidtop=vishid; toprecbiases=hidbiases; topgenbiases=visbiases; save mnistpo hidtop toprecbiases topgenbiases; backprop;
相关文章推荐
- 深度学习Deeplearning4j 入门实战(4):Deep AutoEncoder进行Mnist压缩的Spark实现
- 【深度学习】笔记2_caffe自带的第一个例子,Mnist手写数字识别代码,过程,网络详解
- 【深度学习:CNN】Batch Normalization解析(2)-- caffe中batch_norm层代码详细注解
- Coursera deeplearning.ai 深度学习笔记2-1-Practical aspects of deep learning-神经网络实际问题分析(初始化&正则化&训练效率)与代码实现
- Tensorflow深度学习入门——采用卷积和池化优化训练MNIST数据——代码+注释
- 深度学习DeepLearning.ai系列课程学习总结:8. 多层神经网络代码实战
- Matlab图像识别/检索系列(5)—10行代码完成深度学习网络之CNN/Autoencoder
- Coursera deeplearning.ai 深度学习笔记1-3-Shallow Neural Networks-浅层神经网络原理推导与代码实现
- 深度学习 6. MatConvNet 相关函数解释说明,MatConvNet 代码理解(二)cnn_mnist_init.m 的注释
- Deep Q-Learning深度增强学习(代码篇)
- Coursera deeplearning.ai 深度学习笔记4-2-Deep Convolutional Models Case Studies-深度卷积模型案例及代码实现
- 用500行Julia代码开始深度学习之旅 Beginning deep learning with 500 lines of Julia
- 深度学习 7. MatConvNet 相关函数解释说明,MatConvNet 代码理解(三)cnn_mnist_experiments.m 的注释
- tensorflow 官网教程 - Deep MNIST for Experts - 代码及注解
- Coursera deeplearning.ai 深度学习笔记1-4-Deep Neural Networks-深度神经网络原理推导与代码实现
- Coursera deeplearning.ai 深度学习笔记2-2-Optimization algorithms-优化算法与代码实现
- 深度学习Matlab工具箱代码注释——MnistTest.m
- tensorflow 官网教程 - Deep MNIST for Experts - 代码及注解
- 深度学习Tracking(1)——Learning to Track at 100 FPS with Deep Regression Networks(代码理解)
- 深度学习 5. MatConvNet 相关函数解释说明,MatConvNet 代码理解(一)cnn_mnist.m 的注释