矢量化编程——以MNIST为例
来源:互联网 发布:windows ce6.0刷机包 编辑:程序博客网 时间:2024/06/08 04:11
矢量化编程就是用矢量运算取代所有的显式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
欢迎参与讨论并关注本博客和微博以及知乎个人主页后续内容继续更新哦~
转载请您尊重作者的劳动,完整保留上述文字以及文章链接,谢谢您的支持!
0 0
- 矢量化编程——以MNIST为例
- 【caffe-Windows】以mnist为例的hdf5单标签处理——matlab实现
- matlab 矢量化编程(四)—— 标量函数转化为能够处理矢量的函数
- 【caffe-Windows】以mnist为例lmdb格式数据
- 以mnist手写识别为例解析caffe使用方法
- UFLDL矢量化编程练习:用MNIST数据集的稀疏自编码器训练实现
- matlab 矢量化编程(二)—— 使用 meshgrid
- matlab 矢量化编程(一)—— 计算 AUC
- 矢量化编程
- 矢量化编程
- 矢量化编程
- 如何矢量化编程
- Keras中实现模型加载与测试(以mnist为例)
- DCNN-tensorflow(深度卷积) 以MNIST集合上进行分类为例
- 神经网络_多层感知机MLP_以mnist为例(tensorflow和keras实现)
- C++和Matlab混合编程——MATLAB调用c++函数(以svmlight为例)
- 【编程珠玑-读书笔记】算法设计技术—以求解"最大连续子序列和"为例
- 【Unix/Linux编程实践】用管道实现双向通信—以bc计算器为例
- keytool创建签名
- soapui断言和变量
- poj_2187凸包,暴力解法
- UIAlertView使用
- Android 自定义控件开发入门 (三)
- 矢量化编程——以MNIST为例
- OpenCV中的cvWaitKey()
- iBatis入门教程
- mac 执行sh批处理文件
- FPGA面试题及答案
- 修改本地hosts表用域名访问本地站点 .
- WCDMA信道
- Linux(2)-----进程与线程的一个简单解释
- Extjs新手教程代码