文档帮助中心文档
添加层
加法层以元素的方式增加来自多个神经网络层的输入。
在创建图层时指定输入的数量。层的输入有名字“三机”、“in2’,……,“酒店”,在那里N为输入的个数。当通过使用连接或断开层时使用输入名称connectLayers或disconnectLayers.添加层的所有输入必须具有相同的维度。
“三机”、“in2’,……,“酒店”
N
connectLayers
disconnectLayers
层= additionLayer (numInputs)
层= additionLayer (numInputs,“名字”,名称)
例子
层= additionLayer (numInputs)创建一个添加层,添加numInputs输入element-wise。该函数还设置NumInputs财产。
层= additionLayer (numInputs)
层
numInputs
NumInputs
层= additionLayer (numInputs“名称”,的名字)还设置了的名字财产。要创建包含附加层的网络,必须指定层名。
层= additionLayer (numInputs“名称”,的名字)
的名字
全部展开
层的输入数,指定为正整数。
输入有名称“三机”、“in2’,……,“酒店”,在那里N=NumInputs.例如,如果NumInputs等于3,那么输入就有名称“三机”、“in2”,“in3”.当通过使用连接或断开层时使用输入名称connectLayers或disconnectLayers.
“三机”、“in2”
“in3”
''
层名,指定为字符向量或字符串标量。若要在层图中包含此层,必须指定层名称。
数据类型:字符|字符串
字符
字符串
InputNames
{“三机”,“in2”,…,“客栈”}
输入名称,指定为{“三机”,“in2”,…,“客栈”},在那里N为该层的输入数。
数据类型:细胞
细胞
NumOutputs
层输出的数量。这一层只有一个输出。
数据类型:双
双
OutputNames
{“出”}
输出层的名称。这一层只有一个输出。
全部折叠
创建一个添加层,有两个输入和名称“add_1”.
“add_1”
添加= additionLayer (2“名字”,“add_1”)
add = AdditionLayer with properties: Name: 'add_1' NumInputs: 2 InputNames: {'in1' '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)网络。训练网络对数字图像进行分类。这个例子中的简单网络包括:
各层按顺序连接的一种主分支。
一个快捷方式连接包含一个1乘1的卷积层。快捷连接使参数梯度更容易从输出层流向网络的早期层。
创建网络的主分支作为一个层阵列。加法层对多个输入元素进行求和。指定要求和的添加层的输入数量。所有层都必须有名称,且名称必须是唯一的。
[imageInputLayer([28 28 1],]),“名字”,“输入”16) convolution2dLayer(5日,“填充”,“相同”,“名字”,“conv_1”) batchNormalizationLayer (“名字”,“BN_1”) reluLayer (“名字”,“relu_1”32岁的)convolution2dLayer (3“填充”,“相同”,“步”2,“名字”,“conv_2”) batchNormalizationLayer (“名字”,“BN_2”) reluLayer (“名字”,“relu_2”32岁的)convolution2dLayer (3“填充”,“相同”,“名字”,“conv_3”) batchNormalizationLayer (“名字”,“BN_3”) reluLayer (“名字”,“relu_3”) additionLayer (2“名字”,“添加”) averagePooling2dLayer (2“步”2,“名字”,“avpool”) fullyConnectedLayer (10“名字”,“俱乐部”) softmaxLayer (“名字”,“softmax”) classificationLayer (“名字”,“classOutput”));
从图层数组中创建一个图层图。layerGraph连接所有的层层按顺序。绘制图层图。
layerGraph
lgraph = layerGraph(层);图绘制(lgraph)
创建1乘1的卷积层,并将其添加到层图中。指定卷积过滤器的数量和步幅,以便激活大小与“relu_3”层。这种安排使添加层能够添加的输出“skipConv”和“relu_3”层。要检查层是否在图中,绘制层图。
“relu_3”
“skipConv”
32岁的skipConv = convolution2dLayer (1“步”2,“名字”,“skipConv”);lgraph = addLayers (lgraph skipConv);图绘制(lgraph)
从。创建快捷连接“relu_1”层的“添加”层。因为您在创建添加层时指定了2作为添加层的输入数量,所以该层有两个名为“三机”和“in2”.的“relu_3”层已经连接到“三机”输入。连接“relu_1”层的“skipConv”层和“skipConv”层的“in2”输入的“添加”层。加法层现在对输出求和“relu_3”和“skipConv”层。要检查层是否连接正确,绘制层图。
“relu_1”
“添加”
“三机”
“in2”
lgraph = connectLayers (lgraph,“relu_1”,“skipConv”);lgraph = connectLayers (lgraph,“skipConv”,“添加/ in2”);图绘制(lgraph);
加载训练和验证数据,其中包含28 × 28的数字灰度图像。
[XTrain, YTrain] = digitTrain4DArrayData;[XValidation, YValidation] = digitTest4DArrayData;
指定培训选项并对网络进行培训。trainNetwork每次使用验证数据验证网络ValidationFrequency迭代。
trainNetwork
ValidationFrequency
选择= trainingOptions (“个”,...“MaxEpochs”8...“洗牌”,“every-epoch”,...“ValidationData”{XValidation, YValidation},...“ValidationFrequency”30岁的...“详细”假的,...“阴谋”,“训练进步”);网= trainNetwork (XTrain YTrain、lgraph选项);
显示训练网络的属性。网络是一个DAGNetwork对象。
DAGNetwork
净
net = DAGNetwork with properties: Layers: [16×1 net.cnn.layer. layer] Connections: [16×2 table] InputNames: {'input'} OutputNames: {'classOutput'}
对验证图像进行分类并计算精度。这个网络非常准确。
YPredicted =分类(净,XValidation);精度=平均值(YPredicted == YValidation)
精度= 0.9930
depthConcatenationLayer|layerGraph|trainNetwork
depthConcatenationLayer
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系