ReverseSequence

classe finale pubblica ReverseSequence

Inverte le fette di lunghezza variabile.

Questa operazione suddivide innanzitutto "input" lungo la dimensione "batch_dim" e, per ogni sezione "i", inverte i primi elementi "seq_lengths[i]" lungo la dimensione "seq_dim".

Gli elementi di `seq_lengths` devono obbedire a `seq_lengths[i] <= input.dims[seq_dim]` e `seq_lengths` deve essere un vettore di lunghezza `input.dims[batch_dim]`.

La sezione di output "i" lungo la dimensione "batch_dim" viene quindi fornita dalla sezione di input "i", con le prime sezioni "seq_lengths[i]" lungo la dimensione "seq_dim" invertite.

Ad esempio:

# 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:, :, ...]
 
Al contrario, se:
# 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, :, ...]
 

Classi nidificate

classe ReverseSequence.Options Attributi facoltativi per ReverseSequence

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

Uscita <T>
comeuscita ()
Restituisce l'handle simbolico del tensore.
ReverseSequence.Options statiche
batchDim (batch lungo)
statico <T estende TType > ReverseSequence <T>
create ( ambito ambito , operando <T> input, operando <? estende TNumber > seqLengths, Long seqDim, Opzioni... opzioni)
Metodo factory per creare una classe che racchiude una nuova operazione ReverseSequence.
Uscita <T>
produzione ()
L'ingresso parzialmente invertito.

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "ReverseSequence"

Metodi pubblici

Uscita pubblica <T> asOutput ()

Restituisce l'handle simbolico del tensore.

Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.

public static ReverseSequence.Options batchDim (batchDim lungo)

Parametri
lottoDim La dimensione lungo la quale viene eseguita l'inversione.

public static ReverseSequence <T> create ( ambito ambito , operando <T> input, operando <? estende TNumber > seqLengths, Long seqDim, Opzioni... opzioni)

Metodo factory per creare una classe che racchiude una nuova operazione ReverseSequence.

Parametri
scopo ambito attuale
ingresso L'ingresso da invertire.
seqLunghezze 1-D con lunghezza `input.dims(batch_dim)` e `max(seq_lengths) <= input.dims(seq_dim)`
seqDim La dimensione parzialmente invertita.
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di ReverseSequence

Uscita pubblica <T> uscita ()

L'ingresso parzialmente invertito. Ha la stessa forma di "input".