zoukankan      html  css  js  c++  java
  • 深度学习代码注解(一)—— mnistdeepauto

    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 
    ');
    converter; 
    
    fprintf(1,'Pretraining a deep autoencoder. 
    ');
    fprintf(1,'The Science paper used 50 epochs. This uses %3i 
    ', 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 
    ',numdims,numhid);
    restart=1;
    rbm;
    hidrecbiases=hidbiases; 
    save mnistvh vishid hidrecbiases visbiases;
    
    % 第二层:numhid ⇒ numen (1000 ==> 500)
    fprintf(1,'
    Pretraining Layer 2 with RBM: %d-%d 
    ',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,'
    Pretraining Layer 3 with RBM: %d-%d 
    ',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,'
    Pretraining Layer 4 with RBM: %d-%d 
    ',numpen2,numopen);
    batchdata=batchposhidprobs;
    numhid=numopen; 
    restart=1;
    rbmhidlinear;
    hidtop=vishid; toprecbiases=hidbiases; topgenbiases=visbiases;
    save mnistpo hidtop toprecbiases topgenbiases;
    
    backprop; 
  • 相关阅读:
    创建一个 mac 的后台进程(daemon)
    Centos 7创建一个服务
    MAC配置VIM环境
    Spark源码剖析(九):TaskScheduler原理与源码剖析
    Spark源码剖析(八):stage划分原理与源码剖析
    教你如何写递归(数学归纳法,干货强推!)
    Spark源码剖析(七):Job触发流程原理与源码剖析
    剑指offer:变态跳台阶
    Spark源码剖析(六):Worker原理与源码剖析
    Spark源码剖析(五):Master原理与源码剖析(下)
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421766.html
Copyright © 2011-2022 走看看