主要内容

SeriesNetwork

系列网络深度学习

描述

一系列网络是深度学习的神经网络层安排一个接一个。它有一个输入层和一个输出层。

创建

有几种方法可以创建一个SeriesNetwork对象:

请注意

了解其他pretrained网络,如googlenetresnet50,请参阅Pretrained深层神经网络

属性

全部展开

这个属性是只读的。

网络层,指定为一个数组中。

这个属性是只读的。

网络输入层名称指定为一个单元阵列的特征向量。

数据类型:细胞

网络输出层名称,指定为一个单元阵列的特征向量。

数据类型:细胞

对象的功能

激活 计算深度学习网络层激活
分类 用训练有素的深度学习神经网络分类数据
预测 使用训练有素的深度学习神经网络预测的反应
predictAndUpdateState 递归神经网络预测反应使用培训和更新网络状态
classifyAndUpdateState 使用递归神经网络训练和分类数据更新网络状态
resetState 重置状态参数的神经网络
情节 情节神经网络层图

例子

全部折叠

加载一个pretrained AlexNet卷积神经网络和检查层和类。

加载pretrained AlexNet网络使用alexnet。输出是一个SeriesNetwork对象。

网= alexnet
网= SeriesNetwork属性:层:[25×1 nnet.cnn.layer.Layer]

使用属性,查看网络体系结构。25层的网络组成。有8层可学的重量:5卷积层,3完全连接层。

net.Layers
ans x1 = 25层阵列层:227 x227x3图像数据的图像输入“zerocenter”正常化2 conv1卷积96年11 x11x3旋转步[4 4]和填充[0 0 0 0]3‘relu1 ReLU ReLU 4 norm1的横通道正常化横通道正常化与5频道/元素5“pool1”马克斯池3 x3马克斯池步(2 - 2)和填充[0 0 0 0]6“conv2”分组卷积2组128 5 x5x48旋转步[1]和填充(2 2 2 2)7的relu2 ReLU ReLU 8 norm2的横通道正常化横通道正常化与5频道/元素9“pool2”马克斯池3 x3马克斯池步(2 - 2)和填充[0 0 0 0]384 3 x3x256 conv3的卷积运算与步幅[1]和填充[1 1 1 1]11的relu3 ReLU ReLU 12“conv4”分组卷积2组192 3 x3x192旋转步[1]和填充[1 1 1 1]13的relu4 ReLU ReLU 14“conv5”分组卷积2组128 3 x3x192旋转步[1]和填充[1 1 1 1]15 ' relu5 ReLU ReLU 16“pool5”马克斯池3 x3 Max池步(2 - 2)和填充[0 0 0 0]17 fc6完全连接4096完全连接层18“relu6”ReLU ReLU 19“drop6”辍学50%辍学20“fc7”完全连接4096完全连接层21 ' relu7 ReLU ReLU 22“drop7”辍学50%辍学23 fc8完全连接1000完全连接层24“概率”Softmax Softmax 25“输出”分类输出crossentropyex“鲤鱼”和999其他的类

您可以查看类的名称通过网络查看学习财产的分类输出层(最后一层)。查看前10类通过选择前十的元素。

net.Layers(结束). class (1:10)
ans =10×1分类数组鲤鱼金鱼大白鲨虎鲨锤头电鳐黄貂鱼公鸡母鸡鸵鸟

指定的示例文件“digitsnet.prototxt”进口。

protofile =“digitsnet.prototxt”;

导入网络层。

层= importCaffeLayers (protofile)
层= 1 x7层阵列层:1“testdata”图像输入28 x28x1图片2的conv1卷积20 5 x5x1旋转步[1]和填充[0 0]3‘relu1 ReLU ReLU 4“pool1”马克斯池2 x2马克斯池步(2 - 2)和填充[0 0]5“ip1”完全连接10完全连接层6‘损失’Softmax Softmax 7“输出”分类输出crossentropyex class1, class2,和8个其他类

作为一个加载数据ImageDatastore对象。

digitDatasetPath = fullfile (matlabroot,“工具箱”,“nnet”,“nndemos”,“nndatasets”,“DigitDataset”);imd = imageDatastore (digitDatasetPath,“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);

10000合成图像数据存储包含从0到9的数字。生成的图像是随机变换应用到数字图像创建不同的字体。每个数字图像28-by-28像素。数据存储包含同等数量的图像每一类。

显示的图像数据存储。

图numImages = 10000;烫= randperm (numImages 20);i = 1:20次要情节(4、5、我);imshow (imds.Files{烫发(i)});drawnow;结束

图包含20个坐标轴对象。坐标轴对象1包含一个类型的对象的形象。坐标轴对象2包含一个类型的对象的形象。坐标轴对象3包含一个类型的对象的形象。坐标轴对象4包含一个类型的对象的形象。5轴对象包含一个类型的对象的形象。6轴对象包含一个类型的对象的形象。7轴对象包含一个类型的对象的形象。8轴对象包含一个类型的对象的形象。坐标轴对象9包含一个类型的对象的形象。 Axes object 10 contains an object of type image. Axes object 11 contains an object of type image. Axes object 12 contains an object of type image. Axes object 13 contains an object of type image. Axes object 14 contains an object of type image. Axes object 15 contains an object of type image. Axes object 16 contains an object of type image. Axes object 17 contains an object of type image. Axes object 18 contains an object of type image. Axes object 19 contains an object of type image. Axes object 20 contains an object of type image.

划分训练集的数据存储,这样每个类别有750图片和测试组有剩余的图像从每个标签。

numTrainingFiles = 750;[imdsTrain, imdsTest] = splitEachLabel (imd, numTrainingFiles“随机”);

splitEachLabel分割的图像文件digitData成两个新的数据存储,imdsTrainimdsTest

定义了卷积神经网络架构。

层= [imageInputLayer([1] 28日28日)convolution2dLayer (5、20) reluLayer maxPooling2dLayer (2“步”,2)fullyConnectedLayer (10) softmaxLayer classificationLayer];

将选项设置为默认设置随机梯度下降的势头。时代的最大数量在20,并开始培训一个初始的学习速率为0.0001。

选择= trainingOptions (“个”,“MaxEpochs”,20岁,“InitialLearnRate”1的军医,“详细”假的,“阴谋”,“训练进步”);

培训网络。

网= trainNetwork (imdsTrain层,选项);

图培训进展(26 - 2月- 2022 11:32:00)包含2轴uigridlayout类型的对象和另一个对象。坐标轴对象1包含6块类型的对象,文本行。坐标轴对象2包含6块类型的对象,文本行。

在测试集上运行训练网络,不是用于训练网络,并预测图像标签(数字)。

YPred =分类(净,imdsTest);欧美= imdsTest.Labels;

计算的准确性。准确的数量之比是正确的标签在测试数据匹配的分类分类图像的数量的测试数据。

精度= (YPred = =次)/元素个数之和(欧美)
精度= 0.9404

扩展功能

版本历史

介绍了R2016a