使用深度网络设计器创建简单的图像分类网络
此示例说明如何使用深度网络设计器创建和训练简单的卷积神经网络来进行深度学习分类。卷积神经网络是深度学习的基本工具,尤其适用于图像识别。
在此示例中,您将:
导入图像数据。
定义网络架构。
指定训练选项。
训练网络。
加载数据
将数字样本数据加载为图像数据存储。imageDatastore
函数根据文件夹名称自动对图像加标签。数据集有 10 个类,数据集中每个图像的像素数为 28×28×1。
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(digitDatasetPath, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames');
打开深度网络设计器。创建一个网络,导入并可视化数据,然后使用深度网络设计器训练网络。
deepNetworkDesigner
要创建一个空白网络,请在空白网络上暂停,然后点击新建。
要导入图像数据存储,请选择数据选项卡,然后点击导入数据 > 导入图像分类数据。选择 imds
作为数据源。留出 30% 的训练数据用作验证数据。选择随机化,将观测值随机分配给训练集和验证集。
点击导入,以导入数据。
定义网络架构
在设计器窗格中,定义卷积神经网络架构。从网络层库中拖动层并连接它们。要快速搜索层,请使用网络层库窗格中的过滤层搜索框。要编辑层的属性,请点击该层,然后在属性窗格中编辑值。
按以下顺序连接各层:
imageInputLayer
,其InputSize
属性设置为28,28,1
convolution2dLayer
batchNormalizationLayer
reluLayer
fullyConnectedLayer
,其OutputSize
属性设置为10
softmaxLayer
classificationLayer
有关深度学习层的详细信息,请参阅深度学习层列表。
训练网络
指定训练选项并训练网络。
在训练选项卡上,点击训练选项。对于此示例,将最大轮数设置为 5,并保留其他默认设置。点击确定,完成训练选项的设置。有关训练选项的详细信息,请参阅设置参数并训练卷积神经网络。
点击训练,开始训练网络。
准确度是网络预测正确的标签的比例。在本例中,超过 97% 的预测标签与验证集的真实标签相匹配。
要将经过训练的网络导出到工作区,请在训练选项卡上,点击导出。
在深度学习的后续步骤中,您可以尝试将预训练网络用于其他任务。通过迁移学习解决新的图像数据分类问题。有关示例,请参阅迁移学习快速入门。要了解有关预训练网络的详细信息,请参阅预训练的深度神经网络。