Matlab深度学习入门实例:从0搭建卷积神经网络CNN(附完整代码)
时间:2024-04-11 17:55:31 来源:网络cs 作者:欧阳逸 栏目:监控软件 阅读:
网上已具有大量卷积神经网络的讲解,故本文不在对此赘述,这篇文章针对已了解CNN基础结构和原理者,以一个例子搭建一个简单的卷积神经网络,作为正式迈入深度学习的第一步。
我们以深度学习最经典的案例——手写数字的识别,和一种经典的CNN——LeNet进行本次学习。
Matlab的功能十分强大,其自带的深度学习工具箱可以使我们免于编写底层算法,迅速地搭建出一个卷积神经网络,同时,其自带手写数字图片以供学习,地址如下,笔者使用的是Matlab2022a。
我们将DigitDataset拷贝到当前编写代码的文件夹下,并删除其中包含两个Excel即可得到下列图片。
第一步,加载手写数字样本图片,代码如下:
clearclc% 第一步:加载手写数字样本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为训练样本的比例。
第三步,构建LeNet并进行可视化分析,代码如下:
% 第三步:构建LeNET卷积网络并进行分析
本文链接:https://www.kjpai.cn/news/2024-04-11/157211.html,文章来源:网络cs,作者:欧阳逸,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!