赞
踩
> 本文所使用的数据集在文章最后,不需要积分就可以下载!
数据集下载
这里主要是基于卷积神经网络的手写字的识别,我是用matlab做的,如果有对卷积神经网络不太熟悉的伙伴可以搜下,网上资源比较多,我这里就不多说了,直接上代码了。
%%准备工作空间 clc clear all close all %%导入数据 digitDatasetPath = fullfile('./','/HandWrittenDataset/'); imds = imageDatastore(digitDatasetPath,... 'IncludeSubfolders',true,'LabelSource','foldernames');%采用文件夹名称作为数据标记 %%数据集图个数 countEachLabel(imds) numTrainFiles = 17;%每一个数字有22个样本,取17个样本作为训练数据 [imdsTrain,imdsValidation] = splitEachLabel(imds,numTrainFiles,'randomized'); %查看图片的大小 img = readimage(imds,1); size(img) %%定义卷积神经网络的结构 layers = [ %输入层 imageInputLayer([28 28 1]) %卷积层 convolution2dLayer(5,6,'Padding',2) batchNormalizationLayer reluLayer maxPooling2dLayer(2,'stride',2) convolution2dLayer(5,16) batchNormalizationLayer reluLayer maxPooling2dLayer(2,'stride',2) convolution2dLayer(5,120) batchNormalizationLayer reluLayer %最终层 fullyConnectedLayer(10) softmaxLayer classificationLayer]; %%训练神经网络 一、设置训练参数 options = trainingOptions('sgdm',... 'MaxEpochs',50,... 'ValidationData',imdsValidation,... 'ValidationFrequency',5,... 'Verbose',false,... 'Plots','training-progress');%显示训练的进度 %训练神经网络,保存网络 net = trainNetwork(imdsTrain,layers,options); save 'CSNet.mat' net %%标记数据(文件名称方式,自行构造) mineSet = imageDatastore('./hw22/hw22/', 'FileExtensions','.jpg',... 'IncludeSubfolders',false); mLabels = cell(size(mineSet.Files,1),1); for i = 1:size(mineSet.Files,1) [filepath,name,ext] = fileparts(char(mineSet.Files{i})); mLabels{i,1} = char(name); end mLabels2 = categorical(mLabels); mineSet.Labels = mLabels2; %%%使用网络进行分类并计算准确性 %手写数据 YPred = classify(net,mineSet); YValidation = mineSet.Labels; %计算正确率 accuracy = sum(YPred == YValidation)/numel(YValidation) %绘制预测结果 figure; nSample = 10; ind = randperm(size(YPred,1),nSample); for i = 1:nSample subplot(2,fix((nSample+1)/2),i) imshow(char(mineSet.Files(ind(i)))) title(['预测:' char(YPred(ind(i)))]) if char(YPred(ind(i))) ==char(YValidation(ind(i))) xlabel(['真实:' char(YValidation(ind(i)))],'Color','b') else xlabel(['真实:' char(YValidation(ind(i)))],'color','r') end end
直接上结果:
里面的数据存放的位置根据自己的情况修改即可。
数据集:
CSDN下载路径,如果有多余的积分,可以支持一下!没有的也无所谓,下面有百度网盘链接!
手写数字数据集
百度网盘:如失效,请留邮箱!
链接: 手写数字数据集,点击下载
提取码: uak2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。