CNN算法详细分析

CNN算法详细分析test_example_CNN.mtrain_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’);将输入的数据按照规定的形式组织,并归一化。r…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

test_example_CNN.m

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');

将输入的数据按照规定的形式组织,并归一化。

rand('state',0)

初始化时设置随机产生的数字不变

cnn.layers = {
    struct('type', 'i') %input layer
    struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer
    struct('type', 's', 'scale', 2) %sub sampling layer
    struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer
    struct('type', 's', 'scale', 2) %subsampling layer
};

设置网络结构为6c-2s-12c-2s

opts.alpha = 1;
opts.batchsize = 50;
opts.numepochs = 1;

设置学习率为1,每一批训练50个样本,迭代一次(所有样本训练完就结束)。

cnn = cnnsetup(cnn, train_x, train_y);
cnn = cnntrain(cnn, train_x, train_y, opts);

调用cnnsetup模块初始化网络并将网络赋给变量cnn,调用cnntrain模块训练网络并将训练好的网络赋给变量cnn。

[er, bad] = cnntest(cnn, test_x, test_y);

将存储网络结构的变量cnn传递给测试模块cnntest,返回错误率和错误的数目。

%plot mean squared error
figure; plot(cnn.rL);
assert(er<0.12, 'Too big error');

画平滑后的均方差曲线


cnnsetup.m

    inputmaps = 1;
    mapsize = size(squeeze(x(:, :, 1)));

squeeze:除去size为1的维度

关于输入通道、输出通道与多通道卷积的详细说明:link

转载于:https://www.cnblogs.com/ratels/p/10682361.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197357.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C/C++中随机函数rand()和srand()的用法「建议收藏」

    C/C++中随机函数rand()和srand()的用法「建议收藏」一、rand()函数名:rand功能:随机数发生器用法:intrand(void);所在头文件:stdlib.h函数说明:rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。

    2022年4月29日
    41
  • maven mvn 命令行 编译打包

    maven mvn 命令行 编译打包*一行命令#切换到项目根目录mvnclean&&mvncompile&&mvnpackage&&starttarget*配置好jdkmaven教程*下载安装mavenhttp://maven.apache.org/download.cgiapache-maven-3.3.3-bin….

    2022年6月7日
    33
  • Docker 离线安装_docker官方中文文档

    Docker 离线安装_docker官方中文文档docker离线安装流程

    2022年9月26日
    3
  • 提问智慧的oracle问题

    提问智慧的oracle问题提问的智慧Oracle版0。尝试在google,论坛,metalink,onlinedocument里搜索。1。写清楚你的执行log,报错信息,写清楚DBversion,OS 2。Instance方面的问题,请贴出alertlog3。network的问题,贴出server的listener.ora,sqlnet.ora并运行lsnrctlservice,贴出cl

    2022年7月26日
    8
  • Java POI 导出Excel经典实现 导出Excel弹出下载框 Spring Boot【不定期更新】

    Java POI 导出Excel经典实现 导出Excel弹出下载框 Spring Boot【不定期更新】在web开发中,有一个经典的功能,就是数据的导入导出。特别是数据的导出,在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作。而数据导出的格式一般是EXCEL或者PDF,我这里就用两篇文章分别给大家介绍下。(注意,我们这里说的数据导出可不是数据库中的数据导出!么误会啦^_^)呵呵,首先我们来导出EXCEL格式的文件吧。现在主流的操作Ex…

    2022年5月29日
    39
  • 阿里时间同步服务器地址

    阿里时间同步服务器地址阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.comntp5.aliyun.comntp6.aliyun.comntp7.aliyun.com转载于:https://www.cnblogs.com/glc400/p/8330094.html…

    2022年7月16日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号