Main Content

multiplicationLayer

説明

乗算層は、複数のニューラル ネットワーク層からの入力を要素単位で乗算します。

作成時に層への入力の数を指定します。層への入力の名前は 'in1','in2',...,'inN' になります。N は入力の数です。connectLayers または disconnectLayers を使用してそれぞれ層の結合または切り離しを行うときには、入力名を使用します。乗算層への入力のサイズは、すべての次元で同じであるか、少なくとも 1 つの次元について同じで、他の次元が大きさが 1 の次元でなければなりません。

作成

説明

layer = multiplicationLayer(numInputs) は、numInputs 個の入力を要素単位で乗算する乗算層を作成します。この関数は、NumInputs プロパティも設定します。

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

プロパティ

すべて展開する

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

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

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

データ型: char | string

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

データ型: cell

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

層の出力の数。この層には単一の出力のみがあります。

データ型: double

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

層の出力名。この層には単一の出力のみがあります。

データ型: cell

すべて折りたたむ

2 つの入力があり、名前が 'mul_1' である乗算層を作成します。

mul = multiplicationLayer(2,'Name','mul_1')
mul = 
  MultiplicationLayer with properties:

          Name: 'mul_1'
     NumInputs: 2
    InputNames: {'in1'  'in2'}

   Learnable Parameters
    No properties.

   State Parameters
    No properties.

  Show all properties

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

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

lgraph = layerGraph();
lgraph = addLayers(lgraph,relu_1);
lgraph = addLayers(lgraph,relu_2);
lgraph = addLayers(lgraph,mul);

lgraph = connectLayers(lgraph,'relu_1','mul_1/in1');
lgraph = connectLayers(lgraph,'relu_2','mul_1/in2');

plot(lgraph);

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® コードを生成します。

バージョン履歴

R2020b で導入