ReverseSequence

classe final pública ReverseSequence

Inverte fatias de comprimento variável.

Esta operação primeiro corta `input` ao longo da dimensão `batch_dim` e, para cada fatia `i`, inverte os primeiros elementos `seq_lengths[i]` ao longo da dimensão `seq_dim`.

Os elementos de `seq_lengths` devem obedecer `seq_lengths[i] <= input.dims[seq_dim]`, e `seq_lengths` deve ser um vetor de comprimento `input.dims[batch_dim]`.

A fatia de saída `i` ao longo da dimensão `batch_dim` é então dada pela fatia de entrada `i`, com as primeiras fatias `seq_lengths[i]` ao longo da dimensão `seq_dim` invertidas.

Por exemplo:

# 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:, :, ...]
 
Em contraste, 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, :, ...]
 

Classes aninhadas

aula ReverseSequence.Options Atributos opcionais para ReverseSequence

Métodos Públicos

Saída <T>
asOutput ()
Retorna o identificador simbólico de um tensor.
ReverseSequence.Options estático
batchDim (Longo batchDim)
estático <T, U estende o número> ReverseSequence <T>
create (escopo do escopo , entrada do operando <T>, operando <U> seqLengths, seqDim longo, opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação ReverseSequence.
Saída <T>
saída ()
A entrada parcialmente invertida.

Métodos herdados

Métodos Públicos

Saída pública <T> asOutput ()

Retorna o identificador simbólico de um tensor.

As entradas para operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.

public static ReverseSequence.Options batchDim (Longo batchDim)

Parâmetros
loteDim A dimensão ao longo da qual a reversão é executada.

public static ReverseSequence <T> create (Escopo escopo , entrada Operando <T>, Operando <U> seqLengths, Long seqDim, Opções... opções)

Método de fábrica para criar uma classe que envolve uma nova operação ReverseSequence.

Parâmetros
escopo escopo atual
entrada A entrada para reverter.
comprimentos seq 1-D com comprimento `input.dims(batch_dim)` e `max(seq_lengths) <= input.dims(seq_dim)`
seqDim A dimensão que está parcialmente invertida.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância de ReverseSequence

Saída pública <T> saída ()

A entrada parcialmente invertida. Tem o mesmo formato de `input`.