パブリック最終クラスBlockLSTMV2
すべてのタイム ステップについて LSTM セルの順方向伝播を計算します。
これは、次のように LSTMBlockCell をループ内で適用することと同じです。
for x1 in unpack(x):
i1, cs1, f1, o1, ci1, co1, h1 = LSTMBlock(
x1, cs_prev, h_prev, w, wci, wcf, wco, b)
cs_prev = cs1
h_prev = h1
i.append(i1)
cs.append(cs1)
f.append(f1)
o.append(o1)
ci.append(ci1)
co.append(co1)
h.append(h1)
return pack(i), pack(cs), pack(f), pack(o), pack(ci), pack(ch), pack(h)
Note that unlike LSTMBlockCell (and BlockLSTM) which uses ICFO gate layout,
this op uses IFCO. So in order for the following snippet to be equivalent
all gate-related outputs should be reordered.
ネストされたクラス
クラス | BlockLSTMV2.オプション | BlockLSTMV2 のオプションの属性 |
パブリックメソッド
静的BlockLSTMV2.Options | cellClip (Float cellClip) |
出力<T> | シ() 時系列全体にわたるセル入力。 |
出力<T> | コ() 時系列全体におけるタンの後のセル。 |
static <T extends Number> BlockLSTMV2 <T> | |
出力<T> | cs () 時系列全体における正接前のセルの状態。 |
出力<T> | f () 時系列全体にわたる忘却ゲート。 |
出力<T> | ひ() 時系列全体にわたる出力 h ベクトル。 |
出力<T> | 私() 時間シーケンス全体にわたる入力ゲート。 |
出力<T> | ああ() タイムシーケンス全体にわたる出力ゲート。 |
静的BlockLSTMV2.Options | usePeephole (ブール型 usePeephole) |
継承されたメソッド
パブリックメソッド
public static BlockLSTMV2 <T> create (スコープscope,オペランド<Long> seqLenMax,オペランド<T> x,オペランド<T> csPrev,オペランド<T> hPrev,オペランド<T> w,オペランド<T> wci,オペランド<T > wcf、オペランド<T> wco、オペランド<T> b、オプション...オプション)
新しい BlockLSTMV2 操作をラップするクラスを作成するファクトリ メソッド。
パラメータ
範囲 | 現在のスコープ |
---|---|
seqLenMax | この入力によって実際に使用される最大時間長。この長さを超えると、出力にはゼロが埋め込まれます。 |
× | LSTM へのシーケンス入力、shape (timelen、batch_size、num_inputs)。 |
cs前 | セルの初期状態の値。 |
h前へ | セルの初期出力 (のぞき穴に使用されます)。 |
w | 重み行列。 |
ウィスコンシン州 | 入力ゲートののぞき穴接続の重み行列。 |
wcf | Forget Gate Peephole 接続の重み行列。 |
ウィコ | 出力ゲートのピープホール接続の重み行列。 |
b | バイアスベクトル。 |
オプション | オプションの属性値を持ちます |
返品
- BlockLSTMV2 の新しいインスタンス