MNIST手写数字识别【Matlab神经网络工具箱】
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神经网络工具箱】相关推荐
- TensorFlow 2.0 mnist手写数字识别(CNN卷积神经网络)
TensorFlow 2.0 (五) - mnist手写数字识别(CNN卷积神经网络) 源代码/数据集已上传到 Github - tensorflow-tutorial-samples 大白话讲解卷积 ...
- 深度学习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 手写数字数据集 第二步: ...
- 1、基于Keras、Mnist手写数字识别数据集构建全连接(FC)神经网络训练模型
文章目录 前言 一.MNIST数据集是什么? 二.构建神经网络训练模型 1.导入库 2.载入数据 3.数据处理 4.创建模型 5.编译模型 6.训练模型 7.评估模型 三.总代码 前言 提示: 1.本 ...
- matlab朴素贝叶斯手写数字识别_机器学习系列四:MNIST 手写数字识别
4. MNIST 手写数字识别 机器学习中另外一个相当经典的例子就是MNIST的手写数字学习.通过海量标定过的手写数字训练,可以让计算机认得0~9的手写数字.相关的实现方法和论文也很多,我们这一篇教程 ...
- 全连接神经网络实现MNIST手写数字识别
在对全连接神经网络的基本知识(全连接神经网络详解)学习之后,通过MNIST手写数字识别这个小项目来学习如何实现全连接神经网络. MNIST数据集 对于深度学习的任何项目来说,数据集是其中最为关键的部分 ...
- PyTorch入门一:卷积神经网络实现MNIST手写数字识别
先给出几个入门PyTorch的好的资料: PyTorch官方教程(中文版):http://pytorch123.com <动手学深度学习>PyTorch版:https://github.c ...
- 基于K210的MNIST手写数字识别
基于K210的MNIST手写数字识别 项目已开源链接: Github. 硬件平台 采用Maixduino开发板 在sipeed官方有售 软件平台 使用MaixPy环境进行单片机的编程 官方资源可在这里 ...
- 基于深度学习的手写数字识别Matlab实现
基于深度学习的手写数字识别Matlab实现 1.网络设计 2. 训练方法 3.实验结果 4.实验结果分析 5.结论 1.网络设计 1.1 CNN(特征提取网络+分类网络) 随着深度学习的迅猛发展,其应 ...
- ANN原来如此简单!——用Excel实现的MNIST手写数字识别(之三)
ANN原来如此简单 人工神经网络目前仍然是一个火热的话题,许多人都对它充满了兴趣.然而,对于想了解ANN具体是怎么回事的同学来说,往往缺乏一个足够简单可视化的方法去了解神经网络的内部构造.网络上的各种 ...
最新文章
- notepad++ java编码,输出中文字符时,编译出错
- 2019牛客网暑假多校训练第四场 K —number
- java gzipoutputstream_java – GZIPInputStream逐行读取
- Spring计划列表
- 初中位似图形作图_教师资格证面试中,哪些篇目最容易抽到?(初中数学篇)...
- C Hello World程序
- 下拉框绑定数据库后,如何在下拉框的最前面增加一项
- gridcontrol值为0时设置为空_汇总:MySQL 8.0 运维便捷命令
- 2月1日:成都力争3年建237个养老院全覆盖社区养老
- 晨魅--高拍仪二次开发
- 江西省大学计算机科学与技术排名,最新江西省大学一流学科排行榜
- 【180719】疯狂躲避球源代码
- Oracle的 wm_concat 的排序问题,Oracle的 listagg 函数
- 将ipad作为Windows10系统的的扩展显示屏
- 交叉编译Qt5.9.6
- 安装Mariadb columnStore(10.3版本)
- 自制的MATLAB拼图游戏GUI界面版详解(上篇)
- BZOJ 3709: [PA2014]Bohater 贪心
- 古剑奇谭网络版服务器正在维护中,古剑奇谭网络版7月19日更新维护公告 古网ol更新了什么...
- ThinkPHP 5.数据库基本操作