LSTMSequence¶
バージョン名: LSTMSequence-1
カテゴリー: シーケンス処理
簡単な説明: LSTMSequence 操作は、一連の LSTM セルを表します。各セルは LSTM Cell 操作として実装されます。
詳細説明:
シーケンス内の単一セルは、LSTM Cell 操作と同じ方法で実装されます。LSTMSequence は LSTM セルのシーケンスを表します。シーケンスは、シーケンス次元に沿った入力データのトラバース方向を指定する direction
属性、または双方向シーケンスにするかどうかを指定する direction
属性に応じて、異なる方法で接続できます。大部分の属性は、ONNX LSTM オペレーター定義の LSTMCell の仕様と同期しています。
属性:
-
hidden_size
説明: hidden_size は隠れ状態のサイズを指定します。
値の範囲: 正の整数
タイプ:
int
必須: はい
-
activations
説明: アクティベーションは、ゲートのアクティベーション関数を指定します。ゲートは 3 つあるため、この属性値で 3 つのアクティベーション関数を指定します。
値の範囲: relu、sigmoid、tanh の任意の組み合わせ
タイプ: 文字列のリスト
デフォルト値 : sigmoid、tanh、tanh
必須: いいえ
-
activations_alpha、activations_beta
説明: activations_alpha, activations_beta 関数の属性。この属性の適用性と意味は、選択したアクティベーション関数によって異なります
値の範囲: 浮動小数点数のリスト
タイプ:
float[]
デフォルト値: なし
必須: いいえ
-
clip
説明: clip は、テンソル・クリッピングの境界値 [-C, C] を指定します。クリッピングはアクティブ化の前に実行されます。
値の範囲: 正の浮動小数点数
タイプ:
float
デフォルト値: infinity はクリッピングが適用されないことを意味します
必須: いいえ
-
direction
説明: RNN が順方向、逆方向、または双方向であるかを指定します。順方向または逆方向の場合は
num_directions = 1
、双方向の場合はnum_directions = 2
になります。このnum_directions
値は、入力/出力形状の要件を指定します。値の範囲: 順方向、逆方向、双方向
タイプ:
string
必須: はい
入力:
1:
X
- タイプ T1[batch_size, seq_length, input_size]
の 3D テンソル、入力データ。サイズseq_length
の追加軸のみが LSTMCell の 1 番目の入力と異なります。必須。2:
initial_hidden_state
- タイプ T1[batch_size, num_directions, hidden_size]
の 3D テンソル、入力隠れ状態データ。必須。3:
initial_cell_state
- タイプ T1[batch_size, num_directions, hidden_size]
の 3D テンソル、入力セル状態データ。必須。4:
sequence_lengths
- T2[batch_size]
タイプの 1D テンソルは、各バッチ要素の実数シーケンスの長さを指定します。この入力が負の値の場合、動作は未定義です。必須。5:
W
- タイプ T1[num_directions, 4 * hidden_size, input_size]
の 3D テンソル、行列乗算の重み、ゲートオーダー: fico。必須。6:
R
- タイプ T1[num_directions, 4 * hidden_size, hidden_size]
の 3D テンソル、行列乗算の再帰重み、ゲートオーダー: fico。必須。7:
B
タイプ T1[num_directions, 4 * hidden_size]
の 2D テンソル、バイアス (重みと再帰重み) の合計。必須。
出力:
1:
Y
- T1 タイプ[batch_size, num_directions, seq_len, hidden_size]
の 3D テンソル、隠匿されたすべての中間出力値の連結。2:
Ho
- タイプ T1[batch_size, num_directions, hidden_size]
の 3D テンソル、隠し状態の最後の出力値。3:
Co
- タイプ T1[batch_size, num_directions, hidden_size]
の 3D テンソル、セル状態の最後の出力値。
タイプ:
T1: サポートされている浮動小数点タイプ。
T2: サポートされている整数タイプ。
例:
<layer ... type="LSTMSequence" ...>
<data hidden_size="128"/>
<input>
<port id="0">
<dim>1</dim>
<dim>4</dim>
<dim>16</dim>
</port>
<port id="1">
<dim>1</dim>
<dim>1</dim>
<dim>128</dim>
</port>
<port id="2">
<dim>1</dim>
<dim>1</dim>
<dim>128</dim>
</port>
<port id="3">
<dim>1</dim>
</port>
<port id="4">
<dim>1</dim>
<dim>512</dim>
<dim>16</dim>
</port>
<port id="5">
<dim>1</dim>
<dim>512</dim>
<dim>128</dim>
</port>
<port id="6">
<dim>1</dim>
<dim>512</dim>
</port>
</input>
<output>
<port id="7">
<dim>1</dim>
<dim>1</dim>
<dim>4</dim>
<dim>128</dim>
</port>
<port id="8">
<dim>1</dim>
<dim>1</dim>
<dim>128</dim>
</port>
<port id="9">
<dim>1</dim>
<dim>1</dim>
<dim>128</dim>
</port>
</output>
</layer>