Spec-Zone.ru › TensorFlow

tf.math.unsorted_segment_prod

Вычисляет произведение по сегментам тензора.

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

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

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

tf.compat.v1.math.unsorted_segment_prod, tf.compat.v1.unsorted_segment_prod

tf.math.unsorted_segment_prod(
    data: Annotated[Any, tf.raw_ops.Any],
    segment_ids: Annotated[Any, tf.raw_ops.Any],
    num_segments: Annotated[Any, tf.raw_ops.Any],
    name=None
) -> Annotated[Any, tf.raw_ops.Any]

Прочитайте раздел о сегментации, чтобы узнать, что такое сегменты.

Этот оператор похож на tf.math.unsorted_segment_sum. Вместо вычисления суммы по сегментам он вычисляет произведение всех элементов, принадлежащих сегменту, таким образом:

\(output_i = \prod_{j...} data[j...]\), где произведение вычисляется по кортежам j..., для которых выполняется segment_ids[j...] == i.

Например:

c = tf.constant([[1,2,3,4], [5,6,7,8], [4,3,2,1]])
tf.math.unsorted_segment_prod(c, tf.constant([0, 1, 0]), num_segments=2).numpy()
array([[4, 6, 6, 4],
       [5, 6, 7, 8]], dtype=int32)

Если для заданного идентификатора сегмента i нет элементов, результатом будет 1.

Если заданный идентификатор сегмента i отрицательный, соответствующее значение отбрасывается и не включается в результат. Внимание! На CPU значения в segment_ids всегда проверяются на то, что они меньше num_segments; при выходе индексов за границы возникает ошибка. На GPU ошибка при выходе индексов за границы не возникает. На GPU выход индексов за границы приводит к безопасному, но не определенному поведению, которое может включать игнорирование индексов за границами или вывод тензора, в первой размерности формы которого хранится 0, если num_segments равно 0.

Аргументы
data Объект типа Tensor. Должен иметь один из следующих типов: float32, float64, int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, bfloat16, qint16, quint16, uint16, complex128, half, uint32, uint64.
segment_ids Объект типа Tensor. Должен иметь один из следующих типов: int32, int64. Тензор, форма которого является префиксом data.shape. Значения должны быть меньше num_segments.
Внимание! На CPU значения всегда проверяются на принадлежность допустимому диапазону, а на GPU такая проверка не выполняется.
num_segments Объект типа Tensor. Должен иметь один из следующих типов: int32, int64.
name Имя операции (необязательно).
Возвращает
Объект типа Tensor. Имеет тот же тип, что и data.

© 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/math/unsorted_segment_prod

Spec-Zone.ru

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