ReverseSequence

clase final pública ReverseSequence

Invierte cortes de longitud variable.

Esta operación primero divide la `entrada` a lo largo de la dimensión `batch_dim` y, para cada segmento `i`, invierte los primeros elementos `seq_lengths[i]` a lo largo de la dimensión `seq_dim`.

Los elementos de `seq_lengths` deben obedecer a `seq_lengths[i] <= input.dims[seq_dim]`, y `seq_lengths` debe ser un vector de longitud `input.dims[batch_dim]`.

El segmento de salida `i` a lo largo de la dimensión `batch_dim` viene dado por el segmento de entrada `i`, con los primeros segmentos `seq_lengths[i]` a lo largo de la dimensión `seq_dim` invertidos.

Por ejemplo:

# 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:, :, ...]
 
Por el contrario, si:
# 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, :, ...]
 

Clases anidadas

clase Opciones de secuencia inversa Atributos opcionales para ReverseSequence

Constantes

Cadena OP_NOMBRE El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Métodos públicos

Salida <T>
como salida ()
Devuelve el identificador simbólico del tensor.
Opciones de secuencia inversa estática
loteDim (loteDim largo)
estático <T extiende TType > ReverseSequence <T>
crear (alcance alcance , entrada de operando <T>, operando <? extiende TNumber > seqLengths, Long seqDim, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación ReverseSequence.
Salida <T>
producción ()
La entrada parcialmente invertida.

Métodos heredados

Constantes

Cadena final estática pública OP_NAME

El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Valor constante: "Secuencia inversa"

Métodos públicos

Salida pública <T> como Salida ()

Devuelve el identificador simbólico del tensor.

Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

pública estática ReverseSequence.Options loteDim (lote largo)

Parámetros
loteDim La dimensión a lo largo de la cual se realiza la inversión.

creación de secuencia inversa estática pública <T> (alcance del alcance , entrada del operando <T>, operando <? extiende TNumber > seqLengths, Long seqDim, opciones... opciones)

Método de fábrica para crear una clase que envuelve una nueva operación ReverseSequence.

Parámetros
alcance alcance actual
aporte La entrada para revertir.
longitudes de secuencia 1-D con longitud `input.dims(batch_dim)` y `max(seq_lengths) <= input.dims(seq_dim)`
seqDim La dimensión que está parcialmente invertida.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de ReverseSequence

Salida pública <T> salida ()

La entrada parcialmente invertida. Tiene la misma forma que "entrada".