主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

additionLayer

相加层

说明

相加层按元素将来自多个神经网络层的输入相加。

在您创建层时指定层的输入数。层的输入的名称为 'in1','in2',...,'inN',其中 N 是输入数目。使用 connectLayersdisconnectLayers 连接层或断开层时,请使用这些输入名称。相加层的所有输入必须具有相同的维度。

创建对象

描述

layer = additionLayer(numInputs) 创建一个相加层,该相加层按元素将 numInputs 输入相加。此函数还设置 NumInputs 属性。

示例

layer = additionLayer(numInputs,'Name',name) 还设置 Name 属性。

示例

属性

全部展开

层的输入数,指定为大于或等于 2 的正整数。

输入的名称为 'in1','in2',...,'inN',其中 NNumInputs。例如,如果 NumInputs 为 3,则输入的名称为 'in1','in2''in3'。使用 connectLayersdisconnectLayers 函数连接层或断开层时,请使用这些输入名称。

层名称,指定为字符向量或字符串标量。对于 Layer 数组输入,trainnetdlnetwork 函数会自动为未命名层指定名称。

AdditionLayer 对象将此属性存储为字符向量。

数据类型: char | string

输入名称,指定为 {'in1','in2',...,'inN'},其中 N 是层的输入数。

数据类型: cell

此 属性 为只读。

层的输出数,存储为 1。此层只有一个输出。

数据类型: double

此 属性 为只读。

输出名称,存储为 {'out'}。此层只有一个输出。

数据类型: cell

示例

全部折叠

创建一个空的神经网络 dlnetwork 对象,并添加一个包含两个输入且名称为 'add' 的相加层。

net = dlnetwork;
layer = additionLayer(2,'Name','add');
net = addLayers(net,layer);

向神经网络添加两个 ReLU 层,并将它们连接到相加层。相加层输出 ReLU 层的输出总和。

layer = reluLayer('Name','relu1');
net = addLayers(net,layer);
net = connectLayers(net,'relu1','add/in1');

layer = reluLayer('Name','relu2');
net = addLayers(net,layer);
net = connectLayers(net,'relu2','add/in2');

在图中可视化更新后的网络。

plot(net)

Figure contains an axes object. The axes object contains an object of type graphplot.

算法

全部展开

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2017b 中推出

全部展开