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. Имеет тот же тип, что и вход. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/reverse_sequence