MNIST手写数字识别

Matlab代码:

%Neural Networks Codes will be run on this part
tic
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all
pic1=imread('8.png');
pic1=rgb2gray(pic1);
% pic=255-pic;
[a,b]=size(pic1);
for i=1:1:afor j=1:1:b   if  pic1(i,j)==0    up=i;           break       endend
end
for i=a:-1:1for j=1:1:b       if  pic1(i,j)==0            down=i;breakend        end
end
for j=1:1:bfor i=1:1:a       if  pic1(i,j)==0            left=j;breakend        end
end
for j=b:-1:1for i=1:1:a       if  pic1(i,j)==0            right=j;breakend        end
end
pic=pic1(down:up,right:left);
imshow(pic)
pic=imresize(pic,[28 28]);
% size(pic);
pic1=1-double(reshape(pic,784,1))/255;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%加载待识别图像
image = loadMNISTImages('train-images'); % 加载样本图像共60000,size(image)=784*60000
label = loadMNISTLabels('train-labels');%加载样本图像对应标签
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
label1=zeros(60000,10);
j=0;
for i=1:1:60000  j=label(i)+1;label1(i,j)=1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=训练样本
PR=minmax(image);
bpnet=newff(PR,[30 10],{'tansig', 'tansig'}, 'traingd', 'learngdm');
net.epoch=100;
net.trainParam.epochs=10;%允许最大训练步数
net.trainParam.goal=0.001; %训练目标最小误差0.001
net.trainParam.show=1; %每间隔100步显示一次训练结果
net.trainParam.lr=0.01; %学习速率
bpnet=train(bpnet,image,label1');
bpnet=sim(bpnet,pic1);
shuzi=find(bpnet==max(bpnet))-1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
toc

利用自己在写字板上写的字测试:

如果不会下载MNIST 数据,可以访问:我的GitHub:

https://github.com/WeisongZhao/MNIST_Recognization

里面有不使用MATLAB工具箱的源代码

MNIST手写数字识别【Matlab神经网络工具箱】相关推荐

  1. TensorFlow 2.0 mnist手写数字识别(CNN卷积神经网络)

    TensorFlow 2.0 (五) - mnist手写数字识别(CNN卷积神经网络) 源代码/数据集已上传到 Github - tensorflow-tutorial-samples 大白话讲解卷积 ...

  2. 深度学习21天——卷积神经网络(CNN):实现mnist手写数字识别(第1天)

    目录 一.前期准备 1.1 环境配置 1.2 CPU和GPU 1.2.1 CPU 1.2.2 GPU 1.2.3 CPU和GPU的区别 第一步:设置GPU 1.3 MNIST 手写数字数据集 第二步: ...

  3. 1、基于Keras、Mnist手写数字识别数据集构建全连接(FC)神经网络训练模型

    文章目录 前言 一.MNIST数据集是什么? 二.构建神经网络训练模型 1.导入库 2.载入数据 3.数据处理 4.创建模型 5.编译模型 6.训练模型 7.评估模型 三.总代码 前言 提示: 1.本 ...

  4. matlab朴素贝叶斯手写数字识别_机器学习系列四:MNIST 手写数字识别

    4. MNIST 手写数字识别 机器学习中另外一个相当经典的例子就是MNIST的手写数字学习.通过海量标定过的手写数字训练,可以让计算机认得0~9的手写数字.相关的实现方法和论文也很多,我们这一篇教程 ...

  5. 全连接神经网络实现MNIST手写数字识别

    在对全连接神经网络的基本知识(全连接神经网络详解)学习之后,通过MNIST手写数字识别这个小项目来学习如何实现全连接神经网络. MNIST数据集 对于深度学习的任何项目来说,数据集是其中最为关键的部分 ...

  6. PyTorch入门一:卷积神经网络实现MNIST手写数字识别

    先给出几个入门PyTorch的好的资料: PyTorch官方教程(中文版):http://pytorch123.com <动手学深度学习>PyTorch版:https://github.c ...

  7. 基于K210的MNIST手写数字识别

    基于K210的MNIST手写数字识别 项目已开源链接: Github. 硬件平台 采用Maixduino开发板 在sipeed官方有售 软件平台 使用MaixPy环境进行单片机的编程 官方资源可在这里 ...

  8. 基于深度学习的手写数字识别Matlab实现

    基于深度学习的手写数字识别Matlab实现 1.网络设计 2. 训练方法 3.实验结果 4.实验结果分析 5.结论 1.网络设计 1.1 CNN(特征提取网络+分类网络) 随着深度学习的迅猛发展,其应 ...

  9. ANN原来如此简单!——用Excel实现的MNIST手写数字识别(之三)

    ANN原来如此简单 人工神经网络目前仍然是一个火热的话题,许多人都对它充满了兴趣.然而,对于想了解ANN具体是怎么回事的同学来说,往往缺乏一个足够简单可视化的方法去了解神经网络的内部构造.网络上的各种 ...

最新文章

  1. notepad++ java编码,输出中文字符时,编译出错
  2. 2019牛客网暑假多校训练第四场 K —number
  3. java gzipoutputstream_java – GZIPInputStream逐行读取
  4. Spring计划列表
  5. 初中位似图形作图_教师资格证面试中,哪些篇目最容易抽到?(初中数学篇)...
  6. C Hello World程序
  7. 下拉框绑定数据库后,如何在下拉框的最前面增加一项
  8. gridcontrol值为0时设置为空_汇总:MySQL 8.0 运维便捷命令
  9. 2月1日:成都力争3年建237个养老院全覆盖社区养老
  10. 晨魅--高拍仪二次开发
  11. 江西省大学计算机科学与技术排名,最新江西省大学一流学科排行榜
  12. 【180719】疯狂躲避球源代码
  13. Oracle的 wm_concat 的排序问题,Oracle的 listagg 函数
  14. 将ipad作为Windows10系统的的扩展显示屏
  15. 交叉编译Qt5.9.6
  16. 安装Mariadb columnStore(10.3版本)
  17. 自制的MATLAB拼图游戏GUI界面版详解(上篇)
  18. BZOJ 3709: [PA2014]Bohater 贪心
  19. 古剑奇谭网络版服务器正在维护中,古剑奇谭网络版7月19日更新维护公告 古网ol更新了什么...
  20. ThinkPHP 5.数据库基本操作

热门文章

  1. 4-5:TCP协议之连接管理机制(三次握手、四次挥手详解)
  2. Thrift 异步模式
  3. Linux日常运维管理技巧(二)Linux防火墙:你可以ping别人,别人ping不了你、转发、代理
  4. TCP/IP四层模型及各层协议首部详述(包含IOS7层)
  5. MySql的存储过程介绍及语法实例操作
  6. 团队任务2:冲刺前的准备
  7. Software Construction Series(1)
  8. 180页PPT,讲解人工智能技术与产业发展
  9. 功能强大!IntelliJ IDEA 2022.1正式发布
  10. 干掉 BeanUtils!试试这款 Bean 自动映射工具,真心强大!