ReverseSequence

публичный финальный класс ReverseSequence

Инвертирует фрагменты переменной длины.

Эта операция сначала разрезает `input` по измерению `batch_dim` и для каждого фрагмента `i` меняет местами первые элементы `seq_lengths[i]` по измерению `seq_dim`.

Элементы `seq_lengths` должны подчиняться `seq_lengths[i] <= input.dims[seq_dim]`, а `seq_lengths` должен быть вектором длины `input.dims[batch_dim]`.

Выходной срез `i` по измерению `batch_dim` затем задаётся входным срезом `i`, причем первые срезы `seq_lengths[i]` по измерению `seq_dim` меняются местами.

Например:

# 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:, :, ...]
 
Напротив, если:
# 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, :, ...]
 

Вложенные классы

сорт ReverseSequence.Параметры Необязательные атрибуты для ReverseSequence

Публичные методы

Выход <Т>
какВывод ()
Возвращает символический дескриптор тензора.
статический ReverseSequence.Options
батчдим (длинный батчдим)
static <T, U расширяет число> ReverseSequence <T>
create (Область действия , ввод операнда <T>, операнд <U> seqLengths, длинный seqDim, параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию ReverseSequence.
Выход <Т>
выход ()
Частично реверсивный вход.

Унаследованные методы

Публичные методы

публичный вывод <T> asOutput ()

Возвращает символический дескриптор тензора.

Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.

общедоступный статический ReverseSequence.Options BatDim (Long BatchDim)

Параметры
пакетныйDim Измерение, по которому выполняется разворот.

public static ReverseSequence <T> create (область области действия , ввод операнда <T>, операнд <U> seqLengths, длинный seqDim, параметры... параметры)

Фабричный метод для создания класса, обертывающего новую операцию ReverseSequence.

Параметры
объем текущий объем
вход Вход для реверса.
seqLengths 1-D с длиной `input.dims(batch_dim)` и `max(seq_lengths) <= input.dims(seq_dim)`
секДим Измерение, которое частично перевернуто.
параметры содержит значения необязательных атрибутов
Возврат
  • новый экземпляр ReverseSequence

публичный вывод <T> вывод ()

Частично реверсивный вход. Он имеет ту же форму, что и «вход».