• 大小: 10.17MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-13
  • 语言: 其他
  • 标签: matlab  lenet-5  MNIST  

资源简介

这个资源使用实现lenet-5的网络结构来MNIST数据集,代码参考了UFLDL上的相关的代码,以及R. B. Palm实现的CNN中的相关代码,为了适应数据集我把lenet-5输入的大小改为了28*28,c3的每一张特征图都与s4的每一张特征图相关,训练的结果可以达到99.1%

资源截图

代码片段和文件信息

function checkgrads(netxy)
epsilon = 1e-4;
er      = 1e-8;
n = numel(net.layers);
for l = n : -1 : 2
    if strcmp(net.layers{l}.type‘Soft‘)
        for j = 1 : numel(net.layers{l}.b)
            net_m = net; net_p = net;
            net_p.layers{l}.b(j) = net_m.layers{l}.b(j) + epsilon;
            net_m.layers{l}.b(j) = net_m.layers{l}.b(j) - epsilon;
            net_m = cnnff(net_mx);net_m = cnnbp(net_my);
            net_p = cnnff(net_px);net_p = cnnbp(net_py);
            d = (net_p.L - net_m.L) / (2 * epsilon);
            e = abs(d - net.layers{l}.db(j));
            if e > er
                error(‘numrical graddient checking failed at softb‘);
            end
        end
        
        for i = 1 : size(net.layers{l}.w1)
            for j = 1 : size(net.layers{l}.w2)
                net_m = net; net_p = net;
                net_p.layers{l}.w(ij) = net_p.layers{l}.w(ij) + epsilon;
                net_m.layers{l}.w(ij) = net_m.layers{l}.w(ij) - epsilon;
                net_m = cnnff(net_mx); net_m = cnnbp(net_my);
                net_p = cnnff(net_px); net_p = cnnbp(net_py);
                d = (net_p.L - net_m.L)/(2*epsilon);
                e = abs(d - net.layers{l}.dw(ij));
                if e > er
                    error(‘numrical graddient checking faild at softw‘);
                end
            end
        end
    end
    
    if strcmp(net.layers{l}.type‘F6‘)
        for j = 1 : size(net.layers{l}.b1)
            net_m = net;net_p = net;
            net_p.layers{l}.b(j) = net_p.layers{l}.b(j) + epsilon;
            net_m.layers{l}.b(j) = net_m.layers{l}.b(j) - epsilon;
            net_p = cnnff(net_px); net_p = cnnbp(net_py);
            net_m = cnnff(net_mx); net_m = cnnbp(net_my);
            %db = net.layers{l}.db(j);
            d = (net_p.L - net_m.L) / (2 * epsilon);
            e = abs(d - net.layers{l}.db(j));
            if e > er
                error(‘numrical graddient checking failed at F6b‘);
            end
        end
        for i = 1 : size(net.layers{l}.w1)
            for j = 1 : size(net.layers{l}.w2)
                net_m = net;net_p = net;
                net_p.layers{l}.w(ij) = net_p.layers{l}.w(ij) + epsilon;
                net_m.layers{l}.w(ij) = net_m.layers{l}.w(ij) - epsilon;
                net_p = cnnff(net_px);net_p =cnnbp(net_py);
                net_m = cnnff(net_mx);net_m = cnnbp(net_my);
                d = (net_p.L - net_m.L) / (2 * epsilon);
                e = abs(d - net.layers{l}.dw(ij));
                if e > er
                    error(‘numrical gradient checking failed at F6w‘);
                end
            end
        end
    end
    
    if strcmp(net.layers{l}.type‘C5‘)
        for i = 1 : size(net.layers{l}.w1)
            for j = 1 : size(net.layers{l}.w2)
                net_m = net;net_p = net;
                net_p.layers{l}.w(ij) = net_p.layers{l}.w(ij) + epsilo

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       7089  2015-01-15 09:38  Lenet\checkgrads.m

     文件        858  2015-01-13 16:08  Lenet\cnnapplyGrads.m

     文件       3248  2015-01-15 10:51  Lenet\cnnbp.m

     文件       2475  2015-01-15 11:03  Lenet\cnnff.m

     文件        823  2015-01-15 09:37  Lenet\cnnTrain.m

     文件       1958  2015-01-13 09:37  Lenet\expand.m

     文件         80  2015-01-13 15:01  Lenet\flipall.m

     文件       2595  2015-01-13 14:46  Lenet\initialParameters.m

     文件        811  2013-09-25 15:14  Lenet\loadMNISTImages.m

     文件        516  2013-09-25 15:14  Lenet\loadMNISTLabels.m

     文件         60  2015-01-13 14:25  Lenet\sigm.m

     文件    7840016  2015-01-14 22:14  Lenet\t10k-images.idx3-ubyte

     文件      10008  2015-01-14 22:14  Lenet\t10k-labels.idx1-ubyte

     文件   47040016  1996-11-18 23:36  Lenet\train-images.idx3-ubyte

     文件      60008  1996-11-18 23:36  Lenet\train-labels.idx1-ubyte

     文件       1295  2015-01-15 13:04  Lenet\trainLenet.m

     目录          0  2015-01-14 22:24  Lenet

----------- ---------  ---------- -----  ----

             54971856                    17


评论

共有 条评论