深度学习Matlab工具箱代码注释之MnistTest.m

%%=========================================================================  
% 主要功能:在mnist数据库上做实验,验证工具箱的有效性  
% 算法流程:1)载入训练样本和测试样本  
%          2)设置CNN参数,并进行训练  
%          3)进行检测cnntest()  
% 注意事项:1)由于直接将所有测试样本输入会导致内存溢出,故采用一次只测试一个训练样本的测试方法  
%%=========================================================================  
%%  
%%%%%%%%%%%%%%%%%%%%加载数据集%%%%%%%%%%%%%%%%%%%%  
load mnist_uint8;  
train_x = double(reshape(train_x',28,28,60000))/255;  
test_x  = double(reshape(test_x',28,28,10000))/255;  
train_y = double(train_y');  
test_y  = double(test_y');  
 
%%  
%%=========================================================================  
%%%%%%%%%%%%%%%%%%%%设置卷积神经网络参数%%%%%%%%%%%%%%%%%%%%  
% 主要功能:训练一个6c-2s-12c-2s形式的卷积神经网络,预期性能如下:  
%          1)迭代一次需要200秒左右,错误率大约为11%  
%          2)迭代一百次后错误率大约为1.2%  
% 算法流程:1)构建神经网络并进行训练,以CNN结构体的形式保存  
%          2)用已知的训练样本进行测试  
% 注意事项:1)之前在测试的时候提示内存溢出,后来莫名其妙的又不溢出了,估计到了系统的内存临界值  
%%=========================================================================  
rand('state',0)  
cnn.layers = {  
    struct('type', 'i')                                    %输入层  
    struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5)  %卷积层  
    struct('type', 's', 'scale', 2)                        %下采样层  
    struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %卷积层  
    struct('type', 's', 'scale', 2)                        %下采样层  
    };  
cnn            = cnnsetup(cnn, train_x, train_y);  
opts.alpha     = 1;  
opts.batchsize = 50;  
opts.numepochs = 5;  
cnn            = cnntrain(cnn, train_x, train_y, opts);  
save CNN_5 cnn;  
 
load CNN_5;  
[er, bad]  = cnntest(cnn, test_x, test_y);  
figure; plot(cnn.rL);  
assert(er<0.12, 'Too big error');  

量化投资与机器学习

知识、能力、深度、专业

勤奋、天赋、耐得住寂寞

原文发布于微信公众号 - 量化投资与机器学习(ZXL_LHTZ_JQXX)

原文发表时间:2015-11-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云时之间

深度学习与神经网络:mnist数据集实现手写数字识别

3714
来自专栏ml

使用神经网络来拟合函数y = x^3 +b

我们使用一个三层的小网络来,模拟函数y = x^3+b函数 1 import tensorflow as tf 2 import numpy as np ...

33211
来自专栏marsggbo

Augmentor 使用介绍

<img src="https://ask.qcloudimg.com/draft/1215004/jfwdwyxm4.jpg" style="border:5...

6135
来自专栏云时之间

深度学习与神经网络:mnist数据集实现手写数字识别

对于mnist数据集,具体的一些介绍我这里就不搬运过来了,这里我直接说我们如何在TensorFlow上使用mnist数据集.

38411
来自专栏贾志刚-OpenCV学堂

干货 | Tensorflow设计简单分类网络实现猫狗图像分类训练与测试

第一层:32个feature map 5x5卷积、步长为2、最大值池化 局部相应归一化处理(LRN) 第二层:64个feature map 3x3卷积、步长为...

5534
来自专栏null的专栏

优化算法——坐标上升法

一、坐标上升法算法原理 image.png 更新过程为每次固定除αi\alpha _i以外的参数,求得满足条件的αi\alpha _i,直到算法收敛,具体的算法...

3886
来自专栏chenjx85的技术专栏

超参数搜索——网格搜索和随机搜索

我们在搜索超参数的时候,如果超参数个数较少(三四个或者更少),那么我们可以采用网格搜素,一种穷尽式的搜索方法。

1283
来自专栏企鹅号快讯

用keras搭建3D卷积神经网络

资源: 3D卷积神经网络相关博客:http://blog.csdn.net/lengxiaomo123/article/details/68926778 ker...

7247
来自专栏Petrichor的专栏

深度学习: 经典 数据集 汇总

官网:www.cs.toronto.edu/~kriz/cifar 介绍:CIFAR-10数据集说明、TensorFlow CNN 测试CIFAR-10数据...

4023
来自专栏素质云笔记

caffe︱ImageData层、DummyData层作为原始数据导入的应用

Part1:caffe的ImageData层 ImageData是一个图像输入层,该层的好处是,直接输入原始图像信息就可以导入分析。 在案例中利用Image...

68710

扫码关注云+社区

领取腾讯云代金券