zoukankan      html  css  js  c++  java
  • 矢量编程——随着MNIST案例

    矢量编程使用的所有明确的矢量运算,而不是for周期。

    上一节所用的是512*512*10的数据集非常小。我们取的patch非常小(8*8),学来的特征非常少(25)。而我又凝视掉了梯度校验(偷懒),所以程序用了1分钟就跑完了(i5处理器)。

     

    但实际上我们遇到的问题规模比这个打太多了,略微大一点的数据集比方说MNIST。这个数据库是另外一个更大的手写体数据库NIST的子集,包括60000个训练样例和10000測试样本,全部的图片都经过了尺寸标准化和中心化,图片的大小固定(28*28)。

     

    输入

    images= loadMNISTImages('train-images-idx3-ubyte');
    display_network(images(:,1:100));

    瞧瞧MNIST前100个图片。

     

    图1


    图片变了,对应可见层和隐藏层的节点都要变,这里改动一下參数:

    visibleSize= 28*28;
    hiddenSize= 196;
    sparsityParam= 0.1;
    lambda= 3e-3;
    beta= 3;
    images= loadMNISTImages('train-images.idx3-ubyte');
    patches=images(:,1:10000);

    因为上一节我的代码已经是矢量化之后的代码了。这里就直接拿来用即可了,Andrew说:“Ourimplementation takes around 15-20 minutes on a fast machine.”感受了一下,确实差点儿相同。假设没有矢量化,预计一上午都难以出结果。

     

    执行后直接等即可了10多分钟就出炉了,键盘有点微烫


    图2


    欢迎參与讨论并关注本博客微博以及知乎个人主页兴许内容继续更新哦~

    转载请您尊重作者的劳动。完整保留上述文字以及文章链接,谢谢您的支持。


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    看过设计模式第一章的心得
    支付宝支付过程填坑
    C# 合并只要有交集的所有集合
    C#中的反射 Reflection
    动态更改配置文件
    六种弹窗
    Respone弹窗
    Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件
    使用ECharts报表统计公司考勤加班,大家加班多吗?
    排污许可管理条例-中华人民共和国国务院令第736号
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4834782.html
Copyright © 2011-2022 走看看