网上已具有大量卷积神经网络的讲解,故本文不在对此赘述,这篇文章针对已了解CNN基础结构和原理者,以一个例子搭建一个简单的卷积神经网络,作为正式迈入深度学习的第一步。
我们以深度学习最经典的案例——手写数字的识别,和一种经典的CNN——LeNet进行本次学习。
Matlab的功能十分强大,其自带的深度学习工具箱可以使我们免于编写底层算法,迅速地搭建出一个卷积神经网络,同时,其自带手写数字图片以供学习,地址如下,笔者使用的是Matlab2022a。
我们将DigitDataset拷贝到当前编写代码的文件夹下,并删除其中包含两个Excel即可得到下列图片。
第一步,加载手写数字样本图片,代码如下:
clear
clc
% 第一步:加载手写数字样本
imds = imageDatastore( ...
'DigitDataset', ...
'IncludeSubfolders',true, ...
'LabelSource','foldernames');
'IncludeSubfolders',true:包含每个文件夹中的所有文件和子文件夹;
'LabelSource','foldernames':根据文件夹名称分配标签并储存在Labels属性中。
第二步,将样本划分为训练集和测试集,并统计分类数量,代码如下:
% 第二步:
% 将样本划分为训练集与测试集
[imdsTrain,imdsValidation] = splitEachLabel(imds,0.7);
% 统计训练集中分类标签的数量
numClasses = numel(categories(imdsTrain.Labels));
imdsTrain为训练样本数据,imdsValidation为验证样本数据,0.7为训练样本的比例。文章来源:https://www.toymoban.com/news/detail-790381.html
第三步,构建LeNet并进行可视化分析,代码如下:文章来源地址https://www.toymoban.com/news/detail-790381.html
% 第三步:构建LeNET卷积网络并进行分析
到了这里,关于Matlab深度学习入门实例:从0搭建卷积神经网络CNN(附完整代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!