Membalikkan irisan panjang variabel.
Operasi ini pertama memotong `input` di sepanjang dimensi `batch_dim`, dan untuk setiap irisan `i`, membalikkan elemen `seq_lengths[i]` pertama di sepanjang dimensi `seq_dim`.
Elemen `seq_lengths` harus mematuhi `seq_lengths[i] <= input.dims[seq_dim]`, dan `seq_lengths` harus berupa vektor dengan panjang `input.dims[batch_dim]`.
Irisan keluaran `i` sepanjang dimensi `batch_dim` kemudian diberikan oleh irisan input `i`, dengan irisan `seq_lengths[i]` pertama di sepanjang dimensi `seq_dim` dibalik.
Sebagai contoh:
# 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:, :, ...]
Sebaliknya, jika: # 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, :, ...]
Kelas Bersarang
kelas | ReverseSequence.Options | Atribut opsional untuk ReverseSequence |
Metode Publik
Output <T> | asOutput () Mengembalikan pegangan simbolis tensor. |
statis ReverseSequence.Options | batchDim (Long batchDim) |
statis <T, U meluas Nomor> ReverseSequence <T> | membuat ( Lingkup lingkup, Operan <T> input, Operan <U> seqLengths, Long seqDim, Options ... pilihan) Metode pabrik untuk membuat kelas yang membungkus operasi ReverseSequence baru. |
Output <T> | Output () Masukan terbalik sebagian. |
Metode yang Diwarisi
Metode Publik
publik Keluaran <T> asOutput ()
Mengembalikan pegangan simbolis tensor.
Input ke operasi TensorFlow adalah output dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static ReverseSequence.Options batchDim (Long batchDim)
Parameter
batchDim | Dimensi di mana pembalikan dilakukan. |
---|
public static ReverseSequence <T> membuat ( Lingkup lingkup, Operan <T> input, Operan <U> seqLengths, Long seqDim, Options ... pilihan)
Metode pabrik untuk membuat kelas yang membungkus operasi ReverseSequence baru.
Parameter
cakupan | lingkup saat ini |
---|---|
memasukkan | Masukan untuk membalikkan. |
seqLengths | 1-D dengan panjang `input.dims(batch_dim)` dan `max(seq_lengths) <= input.dims(seq_dim)` |
seqDim | Dimensi yang sebagian terbalik. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru dari ReverseSequence
publik Keluaran <T> Output ()
Masukan terbalik sebagian. Ini memiliki bentuk yang sama dengan `input`.