tf.sparse.segment_sum
Вычисляет сумму по разреженным сегментам тензора.
tf.sparse.segment_sum(
data,
indices,
segment_ids,
num_segments=None,
name=None,
sparse_gradient=False
)
Описание сегментов см. в разделе о сегментации.
Как и tf.math.segment_sum, но segment_ids может иметь ранг меньше первой размерности data, выбирая подмножество размерности 0, заданное с помощью indices. В segment_ids могут отсутствовать идентификаторы; в этом случае в выходных данных для соответствующих индексов будут нули. В таких случаях для определения размера выходных данных используется num_segments.
Например:
c = tf.constant([[1,2,3,4], [-1,-2,-3,-4], [5,6,7,8]])
# Select two rows, one segment.
tf.sparse.segment_sum(c, tf.constant([0, 1]), tf.constant([0, 0]))
# => [[0 0 0 0]]
# Select two rows, two segment.
tf.sparse.segment_sum(c, tf.constant([0, 1]), tf.constant([0, 1]))
# => [[ 1 2 3 4]
# [-1 -2 -3 -4]]
# With missing segment ids.
tf.sparse.segment_sum(c, tf.constant([0, 1]), tf.constant([0, 2]),
num_segments=4)
# => [[ 1 2 3 4]
# [ 0 0 0 0]
# [-1 -2 -3 -4]
# [ 0 0 0 0]]
# Select all rows, two segments.
tf.sparse.segment_sum(c, tf.constant([0, 1, 2]), tf.constant([0, 0, 1]))
# => [[0 0 0 0]
# [5 6 7 8]]
# Which is equivalent to:
tf.math.segment_sum(c, tf.constant([0, 0, 1]))
| Аргументы | |
|---|---|
data | Tensor с данными, которые будут собраны в выходных данных. |
indices | Одномерный Tensor с индексами в data. Имеет тот же ранг, что и segment_ids. |
segment_ids | Одномерный Tensor с индексами в выходной Tensor. Значения должны быть отсортированы; допускаются повторения. |
num_segments | Необязательный скаляр int32. Указывает размер выходной Tensor. |
name | Имя операции (необязательно). |
sparse_gradient | Необязательный bool. По умолчанию — False. Если True, градиент этой функции будет разреженным (IndexedSlices), а не плотным (Tensor). Разреженный градиент будет содержать одну ненулевую строку для каждого уникального индекса в indices. |
| Возвращаемое значение | |
|---|---|
tensor той же формы, что и data, за исключением размерности 0, размер которой равен k — числу сегментов, заданному с помощью num_segments или определяемому по последнему элементу в segments_ids. |
© 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/sparse/segment_sum