1、相关理论
CNN 模型为深度学习模型,其具有局部连接、权 值共享和空间相关等特性,以及强鲁棒性和容错能力,适用于提取深层数据特征。经典的 CNN 模型结构包含输入层、隐含层、全连接层和输出层。卷积神经网络的模型如下图所示。
2、数据集的准备
以手写数据集为例,搭建卷积神经网络进行分类识别。数据集下载地址: ,下面为部分数据集图片展示。
3、数据集的读取与划分
将下载好的数据集保存好,digitDatasetPath 填写数据集的保存路径即可。每一类随机选择750张图片作为测试数据,其他的作为训练数据。
%%数据集的读取
digitDatasetPath = 'D:\\MTALAB2019\\手写数据集\\DigitDataset';
imds = imageDatastore(digitDatasetPath, ...
'IncludeSubfolders',true,'LabelSource','foldernames');
%%数据集的划分
numTrainFiles = 750;
[imdsTrain,imdsValidation] = splitEachLabel(imds,numTrainFiles,'randomize');
4、卷积神经网络的搭建
layers = [
imageInputLayer([28 28 1]) %%输入层
%%卷积层
convolution2dLayer(3,8,'Padding','same')
batchNormalizationLayer
reluLayer
%%池化层
maxPooling2dLayer(2,'Stride',2)
%%卷积层
convolution2dLayer(3,16,'Padding','same')
batchNormalizationLayer
reluLayer
%%池化层
maxPooling2dLayer(2,'Stride',2)
%%卷积层
convolution2dLayer(3,32,'Padding','same')
batchNormalizationLayer
reluLayer
%全连接层
fullyConnectedLayer(10)
softmaxLayer
classificationLayer];
网络搭建好了,就需要对网络的参数进行设置,相关参数代码如下:
options = trainingOptions('sgdm', ...
'InitialLearnRate',0.01, ...
'MaxEpochs',10, ...
'Shuffle','every-epoch', ...
'ValidationData',imdsValidation, ...
'ValidationFrequency',30, ...
'Verbose',false, ...
'Plots','training-progress');
** 5、训练卷积神经网络**
net = trainNetwork(imdsTrain,layers,options);
** 训练结果如下 **
6、测试与运行结果
YPred = classify(net,imdsValidation);
YValidation = imdsValidation.Labels;
accuracy = sum(YPred == YValidation)/numel(YValidation)
accuracy = 0.9868
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
神经网络
+关注
关注
42文章
4771浏览量
100752 -
cnn
+关注
关注
3文章
352浏览量
22213 -
卷积神经网络
+关注
关注
4文章
367浏览量
11863
发布评论请先 登录
相关推荐
卷积神经网络如何使用
卷积神经网络(CNN)究竟是什么,鉴于神经网络在工程上经历了曲折的历史,您为什么还会在意它呢? 对于这些非常中肯的问题,我们似乎可以给出相对简明的答案。
发表于 07-17 07:21
卷积神经网络模型发展及应用
卷积神经网络模型发展及应用转载****地址:http://fcst.ceaj.org/CN/abstract/abstract2521.shtml深度学习是机器学习和人工智能研究的最新趋势,作为一个
发表于 08-02 10:39
人工智能之卷积神经网络
人工智能机器学习有关算法内容,人工智能之机器学习主要有三大类:1)分类;2)回归;3)聚类。今天我们重点探讨一下卷积神经网络(CNN)算法。 前言: 人工智能 机器学习有关算法内容,请参见公众号
什么是神经网络?什么是卷积神经网络?
在介绍卷积神经网络之前,我们先回顾一下神经网络的基本知识。就目前而言,神经网络是深度学习算法的核心,我们所熟知的很多深度学习算法的背后其实都
卷积神经网络python代码
卷积神经网络python代码 ; 卷积神经网络(Convolutional Neural Network,简称CNN)是
卷积神经网络的基本原理 卷积神经网络发展 卷积神经网络三大特点
中最重要的神经网络之一。它是一种由多个卷积层和池化层(也可称为下采样层)组成的神经网络。CNN
卷积神经网络算法代码matlab
卷积神经网络算法代码matlab 卷积神经网络(Convolutional Neural Network,CNN)是
评论