矢量编程——随着MNIST案例
2024-09-28 03:28:30
矢量编程使用的所有明确的矢量运算,而不是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
欢迎參与讨论并关注本博客和微博以及知乎个人主页兴许内容继续更新哦~
转载请您尊重作者的劳动。完整保留上述文字以及文章链接,谢谢您的支持。
版权声明:本文博主原创文章,博客,未经同意不得转载。
最新文章
- 自定义UIBarButtonItem
- Spring框架IOC容器和AOP解析
- myeclipse 快捷键大全
- C# 串口操作系列(3) -- 协议篇,二进制协议数据解析
- Java多线程之ConcurrentSkipListMap深入分析(转)
- Laravel Eloquent 的条件不等于
- EasyPHP的Apache报错
- android 36 线程通信
- jquery动画总结
- [转]linux中颜色的含义
- SQL Server 查找统计信息的采样时间与采样比例
- 卢卡斯定理——应用hdu4349
- angr进阶(4)从任意位置开始
- Selenium断言的使用,等待
- (简单)华为Nova3 PAR-AL00的USB调试模式在哪里开启的步骤
- 使用Go语言+Protobuf协议完成一个多人聊天室
- Django:admin后台汉化问题
- 本地安装apk后直接打开,按下Home键再重新打开,然后按下返回键时页面展示错误的处理方法
- ibatitsnet 因为会Dao.config 配置数据版本太低导致的问题
- 1124 Raffle for Weibo Followers[简单]
热门文章
- Merging a WPF application into a single EXE(WPF应用程序合并成单个Exe文件)
- 手机定位原理 - GPS/GLONASS/北斗 + WIFI + 基站(转)
- c#抓取动态页面WebBrowser
- [WPF]使用Pack URI路径訪问二进制资源
- ubuntu12 下怎样上网
- 服务器编程入门(3)TCP协议详解
- BGP协议学习总结
- 从零開始学android&;lt;SeekBar滑动组件.二十二.&;gt;
- HashMap源码解读(转)
- ecshop 后台批量上传商品 完整上传