Spec-Zone.ru › TensorFlow 2.9

tf.reverse_sequence

Просмотреть исходный код на GitHub

Инвертирует срезы переменной длины.

tf.reverse_sequence(
    input, seq_lengths, seq_axis=None, batch_axis=None, name=None
)

Этот оператор сначала нарезает input по размерности batch_axis, а для каждого среза i, инвертирует первые seq_lengths[i] элементы по размерности seq_axis.

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

Срез выходных данных i по размерности batch_axis затем задается с помощью среза входных данных i, с первыми seq_lengths[i] срезами по размерности seq_axis инвертированными.

Пример использования:

seq_lengths = [7, 2, 3, 5]
input = [[1, 2, 3, 4, 5, 0, 0, 0], [1, 2, 0, 0, 0, 0, 0, 0],
         [1, 2, 3, 4, 0, 0, 0, 0], [1, 2, 3, 4, 5, 6, 7, 8]]
output = tf.reverse_sequence(input, seq_lengths, seq_axis=1, batch_axis=0)
output
<tf.Tensor: shape=(4, 8), dtype=int32, numpy=
array([[0, 0, 5, 4, 3, 2, 1, 0],
       [2, 1, 0, 0, 0, 0, 0, 0],
       [3, 2, 1, 4, 0, 0, 0, 0],
       [5, 4, 3, 2, 1, 6, 7, 8]], dtype=int32)>
Аргументы
input A Tensor. Входные данные для инвертирования.
seq_lengths A Tensor. Должен быть одного из следующих типов: int32, int64. 1-мерный с длиной input.dims(batch_axis) и max(seq_lengths) <= input.dims(seq_axis)
seq_axis An int. Размерность, которая частично инвертируется.
batch_axis Необязательная int. По умолчанию 0. Размерность, вдоль которой выполняется инвертирование.
name Имя операции (необязательно).
Возвращает
A Tensor. Имеет тот же тип, что и вход.

© 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/versions/r2.9/api_docs/python/tf/reverse_sequence

Spec-Zone.ru

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