Main Content

concatenationLayer

説明

連結層は入力を取り、指定された次元に沿って入力を連結します。入力のサイズは、連結の次元を除き、すべての次元で同じでなければなりません。

作成時に層への入力の数を指定します。入力の名前は 'in1','in2',...,'inN' になります。N は入力の数です。connectLayers または disconnectLayers を使用して層の結合または切り離しを行うときには、入力名を使用します。

作成

説明

layer = concatenationLayer(dim,numInputs) は、指定した次元 dim に沿って入力 numInputs を連結する連結層を作成します。この関数は、Dim プロパティおよび NumInputs プロパティも設定します。

layer = concatenationLayer(dim,numInputs,'Name',name) は、Name プロパティも設定します。

プロパティ

すべて展開する

連結

連結の次元。正の整数として指定します。層は、チャネル次元および空間次元に対してのみ連結をサポートします。

例: 4

層の名前。文字ベクトルまたは string スカラーとして指定します。Layer 配列入力の場合、関数 trainnet および関数 dlnetwork は、名前が "" の層に自動的に名前を割り当てます。

ConcatenationLayer オブジェクトは、このプロパティを文字ベクトルとして格納します。

データ型: char | string

層への入力の数。2 以上の正の整数として指定します。

入力の名前は 'in1','in2',...,'inN' になります。ここで、NNumInputs です。たとえば、NumInputs が 3 である場合、入力の名前は 'in1','in2' および 'in3' になります。関数 connectLayers または disconnectLayers を使用して層の結合または切り離しを行うときには、入力名を使用します。

入力名。{'in1','in2',...,'inN'} として指定します。ここで、N は層の入力の数です。

データ型: cell

この プロパティ は読み取り専用です。

層からの出力の数。1 として返されます。この層には単一の出力のみがあります。

データ型: double

この プロパティ は読み取り専用です。

出力名。{'out'} として返されます。この層には単一の出力のみがあります。

データ型: cell

すべて折りたたむ

4 番目の次元 (チャネル) に沿って 2 つの入力を連結する連結層を作成します。連結層に 'concat' という名前を付けます。

concat = concatenationLayer(4,2,'Name','concat')
concat = 
  ConcatenationLayer with properties:

          Name: 'concat'
           Dim: 4
     NumInputs: 2
    InputNames: {'in1'  'in2'}

2 つの ReLU 層を作成し、これらの層を連結層に結合します。連結層で ReLU 層の出力が連結されます。

relu_1 = reluLayer('Name','relu_1');
relu_2 = reluLayer('Name','relu_2');

net = dlnetwork;
net = addLayers(net, relu_1);
net = addLayers(net, relu_2);
net = addLayers(net, concat);

net = connectLayers(net, 'relu_1', 'concat/in1');
net = connectLayers(net, 'relu_2', 'concat/in2');
plot(net)

アルゴリズム

すべて展開する

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2019a で導入

すべて展開する