初入matlab深度学习
#创建简单的深度学习网络以用于分类
此示例说明如何创建和训练简单的卷积神经网络来进行深度学习分类。卷积神经网络是深度学习的基本工具,尤其适用于图像识别。
该示例演示如何:
1.加载和浏览图像数据。
2.定义网络架构。
3.指定训练选项。
4.训练网络。
5.预测新数据的标签并计算分类准确度
加载和浏览图像数据
加载数字样本数据作为图像数据存储。imageDatastore 根据文件夹名称自动标记图像,并将数据存储为 ImageDatastore 对象。通过图像数据存储可以存储大图像数据,包括无法放入内存的数据,并在卷积神经网络的训练过程中高效分批读取图像。
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ...
'nndatasets','DigitDataset');
imds = imageDatastore(digitDatasetPath, ...
'IncludeSubfolders',true,'LabelSource','foldernames');
显示数据存储中的部分图像。
figure;
perm = randperm(10000,20);
for i = 1:20
subplot(4,5,i);
imshow(imds.Files{perm(i)});
end
计算每个类别中的图像数量。labelCount 是一个表,其中列出了标签,以及每个标签对应的图像数量。数据存储包含数字 0-9 的总共 10000 个图像,每个数字对应 1000 个图像。您可以在网络的最后一个全连接层中指定类数作为 OutputSize 参数。
labelCount = countEachLabel(imds)
必须在网络的输入层中指定图像的大小。检查 digitData 中第一个图像的大小。每