Spec-Zone.ru › TensorFlow

tf.raw_ops.ReverseSequence

Обращает вспять срезы переменной длины.

Просмотреть псевдонимы

Совместимые псевдонимы для миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.raw_ops.ReverseSequence

tf.raw_ops.ReverseSequence(
    input, seq_lengths, seq_dim, batch_dim=0, name=None
)

Эта операция сначала разбивает 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, :, ...]
Аргументы
input Tensor. Входные данные для обращения в обратном порядке.
seq_lengths Tensor. Должен иметь один из следующих типов: int32, int64. Одномерный, длины input.dims(batch_dim) и max(seq_lengths) <= input.dims(seq_dim)
seq_dim int. Измерение, для которого выполняется частичное обращение в обратном порядке.
batch_dim Необязательный int. По умолчанию — 0. Измерение, по которому выполняется обращение в обратном порядке.
name Необязательное имя операции.
Возвращает
Tensor. Имеет тот же тип, что и input.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/raw_ops/ReverseSequence

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API