0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一下卷积神经网络的代码实战

冬至子 来源:matlab学习之家 作者:matlab学习之家 2023-06-02 16:20 次阅读

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

    文章

    4717

    浏览量

    99988
  • cnn
    cnn
    +关注

    关注

    3

    文章

    349

    浏览量

    21950
  • 卷积神经网络

    关注

    4

    文章

    358

    浏览量

    11798
收藏 人收藏

    评论

    相关推荐

    卷积神经网络如何使用

    卷积神经网络(CNN)究竟是什么,鉴于神经网络在工程上经历了曲折的历史,您为什么还会在意它呢? 对于这些非常中肯的问题,我们似乎可以给出相对简明的答案。
    发表于 07-17 07:21

    什么是图卷积神经网络

    卷积神经网络
    发表于 08-20 12:05

    卷积神经网络的优点是什么

    卷积神经网络的优点
    发表于 05-05 18:12

    卷积神经网络卷积的处理过程

    。本文就以卷积神经网络为例谈谈怎么来进步优化卷积神经网络使用的memory。文章(
    发表于 12-23 06:16

    卷积神经网络模型发展及应用

    卷积神经网络模型发展及应用转载****地址:http://fcst.ceaj.org/CN/abstract/abstract2521.shtml深度学习是机器学习和人工智能研究的最新趋势,作为
    发表于 08-02 10:39

    人工智能之卷积神经网络

    人工智能机器学习有关算法内容,人工智能之机器学习主要有三大类:1)分类;2)回归;3)聚类。今天我们重点探讨一下卷积神经网络(CNN)算法。 前言: 人工智能 机器学习有关算法内容,请参见公众号
    的头像 发表于 06-18 10:15 5049次阅读

    什么是神经网络?什么是卷积神经网络

    在介绍卷积神经网络之前,我们先回顾一下神经网络的基本知识。就目前而言,神经网络是深度学习算法的核心,我们所熟知的很多深度学习算法的背后其实都
    的头像 发表于 02-23 09:14 3099次阅读

    卷积神经网络python代码

    卷积神经网络python代码 ; 卷积神经网络(Convolutional Neural Network,简称CNN)是
    的头像 发表于 08-21 16:41 893次阅读

    卷积神经网络的基本原理 卷积神经网络发展 卷积神经网络三大特点

    中最重要的神经网络。它是种由多个卷积层和池化层(也可称为采样层)组成的神经网络。CNN
    的头像 发表于 08-21 16:49 2100次阅读

    卷积神经网络层级结构 卷积神经网络卷积层讲解

    卷积神经网络层级结构 卷积神经网络卷积层讲解 卷积神经网络
    的头像 发表于 08-21 16:49 6823次阅读

    卷积神经网络的介绍 什么是卷积神经网络算法

    卷积神经网络的介绍 什么是卷积神经网络算法 卷积神经网络涉及的关键技术
    的头像 发表于 08-21 16:49 1697次阅读

    卷积神经网络算法是机器算法吗

    神经网络的原理 先介绍一下卷积神经网络的原理。卷积神经网络中的核心结构是卷积层。
    的头像 发表于 08-21 16:49 734次阅读

    卷积神经网络算法代码matlab

    卷积神经网络算法代码matlab 卷积神经网络(Convolutional Neural Network,CNN)是
    的头像 发表于 08-21 16:50 1061次阅读

    卷积神经网络模型搭建

    份详实、细致的指导。 、什么是卷积神经网络 在讲述如何搭建卷积神经网络之前,我们需要先了解一下
    的头像 发表于 08-21 17:11 834次阅读

    cnn卷积神经网络简介 cnn卷积神经网络代码

    cnn卷积神经网络简介 cnn卷积神经网络代码 卷积神经网络
    的头像 发表于 08-21 17:16 2433次阅读