主要内容

网络层深度学习

描述

层定义深度学习的神经网络的体系结构。

创建

MATLAB的深度学习层列表®,请参阅深度学习层的列表。指定的体系结构神经网络层连接顺序,直接创建一个数组的层。指定一个网络层的体系结构可以有多个输入或输出,使用LayerGraph对象。

另外,您可以从咖啡进口层,Keras, ONNX使用importCaffeLayers,importKerasLayers,importONNXLayers分别。

学习如何创建您自己的自定义层,明白了定义定制的深度学习层

对象的功能

trainNetwork 深度学习的神经网络进行训练

例子

全部折叠

定义一个卷积与一个卷积神经网络分类架构层,ReLU层,和一个完全连接层。

层= [imageInputLayer([3] 28日28日)convolution2dLayer (5 [5], 10) reluLayer fullyConnectedLayer (10) softmaxLayer classificationLayer]
层= 6 x1层与层:数组1”的形象输入28 x28x3图像zerocenter正常化2”10 5 x5的卷积,卷积步伐[1]和填充[0 0 0 0]3”ReLU ReLU 4”完全连接10完全连接层5”Softmax Softmax 6”crossentropyex分类输出

是一个对象。

或者,您可以创建单独的层,然后连接它们。

输入= imageInputLayer([28日28日3]);conv = convolution2dLayer (5 [5], 10);relu = reluLayer;fc = fullyConnectedLayer (10);sm = softmaxLayer;有限公司= classificationLayer;层= [输入conv relu fc sm公司)
层= 6 x1层与层:数组1”的形象输入28 x28x3图像zerocenter正常化2”10 5 x5的卷积,卷积步伐[1]和填充[0 0 0 0]3”ReLU ReLU 4”完全连接10完全连接层5”Softmax Softmax 6”crossentropyex分类输出

定义一个卷积与一个卷积神经网络分类架构层,ReLU层,和一个完全连接层。

层= [imageInputLayer([3] 28日28日)convolution2dLayer (5 [5], 10) reluLayer fullyConnectedLayer (10) softmaxLayer classificationLayer];

显示图像输入层通过选择第一层。

层(1)
ans = ImageInputLayer属性:名称:“InputSize:[28日28日3]Hyperparameters DataAugmentation:“没有”正常化:“zerocenter”NormalizationDimension:“汽车”的意思是:[]

视图图像的输入大小输入层。

层(1).InputSize
ans =1×328日28日3

卷积的跨层显示。

层(2).Stride
ans =1×21

访问的偏见学习速率因子完全连接层。

层(4).BiasLearnRateFactor
ans = 1

创建一个简单的有向无环图(DAG)网络深度学习。列车网络分类的图像数字。本例中的简单网络包括:

  • 按顺序的主干层连接。

  • 一个快捷方式连接包含一个1×1卷积层。快捷的连接使参数梯度流更容易从输出层的早期层网络。

创建的主要分支网络层的数组。添加层和多个输入element-wise。指定输入添加层的数量总和。轻松添加连接后,指定名称第一ReLU层以及层。

层= [imageInputLayer ([28 28 1]) convolution2dLayer(5日16日“填充”,“相同”)batchNormalizationLayer reluLayer (“名字”,“relu_1”32岁的)convolution2dLayer (3“填充”,“相同”,“步”,2)batchNormalizationLayer reluLayer convolution2dLayer(3, 32岁“填充”,“相同”)batchNormalizationLayer reluLayer additionLayer (2“名字”,“添加”)averagePooling2dLayer (2“步”,2)fullyConnectedLayer (10) softmaxLayer classificationLayer];

创建一个层图从数组中。layerGraph连接所有的层按顺序。绘制层图。

lgraph = layerGraph(层);图绘制(lgraph)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

创建1×1卷积层,并将其添加到层图。指定数量的卷积过滤器和步伐,以便激活大小匹配的激活大小ReLU第三层。这样的安排使添加层添加第三ReLU层和1×1的输出卷积层。检查层图,绘制层图。

32岁的skipConv = convolution2dLayer (1“步”2,“名字”,“skipConv”);lgraph = addLayers (lgraph skipConv);图绘制(lgraph)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

创建快捷方式连接“relu_1”层的“添加”层。因为你指定的两个输入的数量增加层创建它时,有两个输入层“三机”“in2”。已经连接到第三ReLU层“三机”输入。连接“relu_1”层的“skipConv”层和“skipConv”层的“in2”输入的“添加”层。添加层现在资金第三ReLU层和输出“skipConv”层。检查层连接正确,绘制层图。

lgraph = connectLayers (lgraph,“relu_1”,“skipConv”);lgraph = connectLayers (lgraph,“skipConv”,“添加/ in2”);图绘制(lgraph);

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

负荷训练和验证数据,包括28-by-28灰度图像的数字。

[XTrain, YTrain] = digitTrain4DArrayData;[XValidation, YValidation] = digitTest4DArrayData;

指定培训方案和培训网络。trainNetwork验证网络使用验证数据ValidationFrequency迭代。

选择= trainingOptions (“个”,“MaxEpochs”8“洗牌”,“every-epoch”,“ValidationData”{XValidation, YValidation},“ValidationFrequency”30岁的“详细”假的,“阴谋”,“训练进步”);网= trainNetwork (XTrain YTrain、lgraph选项);

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

显示的属性训练网络。网络是一个DAGNetwork对象。

网= DAGNetwork属性:层:x1 nnet.cnn.layer.Layer[16]连接:[16 x2表]InputNames: {“imageinput”} OutputNames: {“classoutput”}

分类验证图像和计算精度。网络是非常准确的。

YPredicted =分类(净,XValidation);精度=意味着(YPredicted = = YValidation)
精度= 0.9934

版本历史

介绍了R2016a