matlab深度学习 您所在的位置:网站首页 卷积神经网络matlab系统教程 matlab深度学习

matlab深度学习

2024-07-12 10:52| 来源: 网络整理| 查看: 265

> 本文所使用的数据集在文章最后,不需要积分就可以下载! 数据集下载

这里主要是基于卷积神经网络的手写字的识别,我是用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 2018-2019 实验室设备网 版权所有