MNIST手写数字识别【Matlab神经网络工具箱】
生活随笔
收集整理的這篇文章主要介紹了
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神经网络工具箱】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式Linux中I2C设备驱动程序的研
- 下一篇: 敏友的【敏捷个人】有感(3): 有感于“