リバースシーケンス

パブリック最終クラスReverseSequence

可変長スライスを反転します。

この操作はまず、次元 `batch_dim` に沿って `input` をスライスし、スライス `i` ごとに、次元 `seq_dim` に沿って最初の `seq_lengths[i]` 要素を反転します。

`seq_lengths` の要素は `seq_lengths[i] <= input.dims[seq_dim]` に従う必要があり、`seq_lengths` は長さ `input.dims[batch_dim]` のベクトルでなければなりません。

次元「batch_dim」に沿った出力スライス「i」は、次元「seq_dim」に沿った最初の「seq_lengths[i]」スライスを反転した入力スライス「i」によって与えられます。

例えば:

# Given this:
 batch_dim = 0
 seq_dim = 1
 input.dims = (4, 8, ...)
 seq_lengths = [7, 2, 3, 5]
 
 # then slices of input are reversed on seq_dim, but only up to seq_lengths:
 output[0, 0:7, :, ...] = input[0, 7:0:-1, :, ...]
 output[1, 0:2, :, ...] = input[1, 2:0:-1, :, ...]
 output[2, 0:3, :, ...] = input[2, 3:0:-1, :, ...]
 output[3, 0:5, :, ...] = input[3, 5:0:-1, :, ...]
 
 # while entries past seq_lens are copied through:
 output[0, 7:, :, ...] = input[0, 7:, :, ...]
 output[1, 2:, :, ...] = input[1, 2:, :, ...]
 output[2, 3:, :, ...] = input[2, 3:, :, ...]
 output[3, 2:, :, ...] = input[3, 2:, :, ...]
 
対照的に、次の場合:
# Given this:
 batch_dim = 2
 seq_dim = 0
 input.dims = (8, ?, 4, ...)
 seq_lengths = [7, 2, 3, 5]
 
 # then slices of input are reversed on seq_dim, but only up to seq_lengths:
 output[0:7, :, 0, :, ...] = input[7:0:-1, :, 0, :, ...]
 output[0:2, :, 1, :, ...] = input[2:0:-1, :, 1, :, ...]
 output[0:3, :, 2, :, ...] = input[3:0:-1, :, 2, :, ...]
 output[0:5, :, 3, :, ...] = input[5:0:-1, :, 3, :, ...]
 
 # while entries past seq_lens are copied through:
 output[7:, :, 0, :, ...] = input[7:, :, 0, :, ...]
 output[2:, :, 1, :, ...] = input[2:, :, 1, :, ...]
 output[3:, :, 2, :, ...] = input[3:, :, 2, :, ...]
 output[2:, :, 3, :, ...] = input[2:, :, 3, :, ...]
 

ネストされたクラス

クラスReverseSequence.Options ReverseSequenceのオプションの属性

パブリックメソッド

出力<T>
asOutput ()
テンソルのシンボリック ハンドルを返します。
静的ReverseSequence.Options
バッチディム(長いバッチディム)
static <T, U extends Number> ReverseSequence <T>
create (スコープscope、オペランド<T>入力、オペランド<U>seqLengths、Long seqDim、オプション...オプション)
新しい ReverseSequence オペレーションをラップするクラスを作成するためのファクトリ メソッド。
出力<T>
出力()
部分的に反転した入力。

継承されたメソッド

パブリックメソッド

public Output <T> asOutput ()

テンソルのシンボリック ハンドルを返します。

TensorFlow オペレーションへの入力は、別の TensorFlow オペレーションの出力です。このメソッドは、入力の計算を表すシンボリック ハンドルを取得するために使用されます。

public static ReverseSequence.OptionsバッチDim (LongバッチDim)

パラメータ
バッチディム反転が実行されるディメンション。

public static ReverseSequence <T> create (スコープscope、オペランド<T>入力、オペランド<U> seqLengths、Long seqDim、オプション...オプション)

新しい ReverseSequence オペレーションをラップするクラスを作成するためのファクトリ メソッド。

パラメータ
範囲現在のスコープ
入力リバースする入力。
シーケンスの長さ長さが `input.dims(batch_dim)` および `max(seq_lengths) <= input.dims(seq_dim)` の 1 次元
シーケンスディム部分的に反転した次元。
オプションオプションの属性値を持ちます
返品
  • ReverseSequence の新しいインスタンス

public出力<T>出力()

部分的に反転した入力。 「input」と同じ形状です。