Membalikkan irisan dengan panjang variabel.
Operasi ini pertama-tama mengiris `input` sepanjang dimensi `batch_dim`, dan untuk setiap irisan `i`, membalikkan elemen `seq_lengths[i]` pertama 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 masukan `i`, dengan irisan `seq_lengths[i]` pertama sepanjang dimensi `seq_dim` dibalik.
Misalnya:
# 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 | Urutan Terbalik.Opsi | Atribut opsional untuk ReverseSequence |
Metode Publik
Keluaran <T> | sebagai Keluaran () Mengembalikan pegangan simbolik tensor. |
ReverseSequence.Options statis | batchDim (Batch panjangDim) |
statis <T, U memperluas Angka> ReverseSequence <T> | |
Keluaran <T> | keluaran () Masukan yang dibalik sebagian. |
Metode Warisan
Metode Publik
Keluaran publik <T> sebagai Keluaran ()
Mengembalikan pegangan simbolik tensor.
Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
ReverseSequence.Options statis publik batchDim (BatchDim panjang)
Parameter
kumpulanRedup | Dimensi sepanjang pembalikan dilakukan. |
---|
public static ReverseSequence <T> buat ( Lingkup lingkup , input Operand <T>, Operand <U> seqLengths, Long seqDim, Opsi... opsi)
Metode pabrik untuk membuat kelas yang membungkus operasi ReverseSequence baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
masukan | 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