additionLayer
添加层
描述
除了一层来自多个神经网络的输入层element-wise补充道。
指定数量的输入层当您创建它。输入层的名称“三机”、“in2’,……,“酒店”
,在那里N
输入的数量。使用输入名称当连接或断开层使用connectLayers
或disconnectLayers
。所有输入添加一层必须有相同的尺寸。
创建
属性
NumInputs
- - - - - -输入数量
正整数
数量的输入层,指定为一个正整数大于或等于2。
输入名称“三机”、“in2’,……,“酒店”
,在那里N
是NumInputs
。例如,如果NumInputs
是3,那么输入的名字吗“三机”、“in2”
,“in3”
。使用输入名称当连接或断开层使用connectLayers
或disconnectLayers
功能。
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
图层名称,指定为一个特征向量或字符串标量。为层
数组输入,trainNetwork
,assembleNetwork
,layerGraph
,dlnetwork
函数自动分配名称层的名称”
。
数据类型:字符
|字符串
InputNames
- - - - - -输入名字
{“三机”,“in2”,…,“客栈”}
(默认)
输入名称,指定为{“三机”,“in2”,…,“客栈”}
,在那里N
是输入的数量的层。
数据类型:细胞
NumOutputs
- - - - - -数量的输出
1
(默认)
这个属性是只读的。
输出层的数量。这一层只有一个输出。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
(默认)
这个属性是只读的。
输出层的名称。这一层只有一个输出。
数据类型:细胞
例子
创建和连接层
创建一个与两个输入层和这个名字“add_1”
。
添加= additionLayer (2“名字”,“add_1”)
添加= AdditionLayer属性:名称:“add_1”NumInputs: 2 InputNames:{“三机”“in2”}
创建两个ReLU层和连接他们的层。从ReLU添加层和输出层。
relu_1 = reluLayer (“名字”,“relu_1”);relu_2 = reluLayer (“名字”,“relu_2”);lgraph = layerGraph;lgraph = addLayers (lgraph relu_1);lgraph = addLayers (lgraph relu_2);lgraph = addLayers (lgraph,添加);lgraph = connectLayers (lgraph,“relu_1”,“add_1 /三机一体”);lgraph = connectLayers (lgraph,“relu_2”,“add_1 / in2”);情节(lgraph)
创建简单的DAG网络
创建一个简单的有向无环图(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)
创建1×1卷积层,并将其添加到层图。指定数量的卷积过滤器和步伐,以便激活大小匹配的激活大小ReLU第三层。这样的安排使添加层添加第三ReLU层和1×1的输出卷积层。检查层图,绘制层图。
32岁的skipConv = convolution2dLayer (1“步”2,“名字”,“skipConv”);lgraph = addLayers (lgraph skipConv);图绘制(lgraph)
创建快捷方式连接“relu_1”
层的“添加”
层。因为你指定的两个输入的数量增加层创建它时,有两个输入层“三机”
和“in2”
。已经连接到第三ReLU层“三机”
输入。连接“relu_1”
层的“skipConv”
层和“skipConv”
层的“in2”
输入的“添加”
层。添加层现在资金第三ReLU层和输出“skipConv”
层。检查层连接正确,绘制层图。
lgraph = connectLayers (lgraph,“relu_1”,“skipConv”);lgraph = connectLayers (lgraph,“skipConv”,“添加/ in2”);图绘制(lgraph);
负荷训练和验证数据,包括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选项);
显示的属性训练网络。网络是一个DAGNetwork
对象。
净
网= DAGNetwork属性:层:x1 nnet.cnn.layer.Layer[16]连接:[16 x2表]InputNames: {“imageinput”} OutputNames: {“classoutput”}
分类验证图像和计算精度。网络是非常准确的。
YPredicted =分类(净,XValidation);精度=意味着(YPredicted = = YValidation)
精度= 0.9934
算法
层的输入和输出格式
层一层一层数组或图后续层传递数据格式化dlarray
对象。的格式dlarray
对象是一个字符串,其中每个字符描述相应的维度的数据。这些字符的格式由一个或多个:
“S”
——空间“C”
——频道“B”
——批“T”
——时间“U”
——未指明的
例如,二维图像数据表示成一个四维数组,第一个二维对应于图像的空间维度,第三维对应于图像的通道,第四个维度对应批维度,可以被描述为有格式“SSCB”
(空间、空间、通道、批)。
你可以与这些交互dlarray
对象等自动分化工作流开发一个自定义图层,使用functionLayer
对象,或使用向前
和预测
功能与dlnetwork
对象。
此表显示了支持输入格式金宝appAdditionLayer
对象和相应的输出格式。如果输出层的传递给一个定制的层不继承nnet.layer.Formattable
类,或FunctionLayer
对象的Formattable
属性设置为0
(假),然后层接收未格式化dlarray
对象的尺寸要求相应的这个表的格式。
每个输入必须具有相同的数据格式。
输入格式 | 输出格式 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在dlnetwork
对象,AdditionLayer
对象也支持这些输入和输出格金宝app式的组合。
输入格式 | 输出格式 |
---|---|
|
|
|
|
|
|
|
|
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
GPU的代码生成
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。
版本历史
介绍了R2017b
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。