SegmentMinV2

публичный финальный класс SegmentMinV2

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

Прочтите [раздел о сегментации](https://tensorflow.org/api_docs/python/tf/math#Segmentation) для объяснения сегментов.

Вычисляет тензор такой, что \\(output_i = \min_j(data_j)\\) , где `min` больше `j`, такой что `segment_ids[j] == i`.

Если минимум для данного идентификатора сегмента `i` пуст, он выводит максимально возможное значение для определенного числового типа `output[i] = numeric_limits ::макс()`.

Примечание. В настоящее время эта операция поддерживается только при jit_compile=True.

Внимание: на ЦП значения в `segment_ids` всегда проверяются на возможность сортировки, и для индексов, которые не увеличиваются, выдается ошибка. На графическом процессоре это не вызывает ошибки для несортированных индексов. На графическом процессоре неупорядоченные индексы приводят к безопасному, но неопределённому поведению, которое может включать в себя обработку неупорядоченных индексов как меньшего следующего индекса.

Единственное отличие от SegmentMin — это дополнительный ввод `num_segments`. Это помогает оценить форму вывода во время компиляции. `num_segments` должно соответствовать идентификаторам сегментов. например, Max(segment_ids) должно быть равно `num_segments` - 1 для 1-го сегмента_ids. При несогласованном количестве сегментов операция все равно выполняется. Единственная разница в том, что выходные данные принимают размер num_segments независимо от размера сегментов и данных. если num_segments меньше ожидаемого выходного размера, последние элементы игнорируются, если num_segments больше ожидаемого выходного размера, последним элементам присваивается максимально возможное значение для определенного числового типа.

Например:

>>> @tf.function(jit_compile=True) ... def test(c): ... return tf.raw_ops.SegmentMinV2(data=c, сегмент_ids=tf.constant([0, 0, 1]), num_segments=2) >>> c = tf.constant([[1,2,3,4], [4, 3, 2, 1], [5,6,7,8]]) >>> test( c).numpy() array([[1, 2, 2, 1], [5, 6, 7, 8]], dtype=int32)

Публичные методы

Выход <Т>
какВывод ()
Возвращает символический дескриптор тензора.
static <T расширяет номер, U расширяет номер, V расширяет номер> SegmentMinV2 <T>
create (Область действия , данные операнда <T>, идентификаторы сегментов операнда <U>, число сегментов операнда <V>)
Фабричный метод для создания класса, обертывающего новую операцию SegmentMinV2.
Выход <Т>
выход ()
Имеет ту же форму, что и данные, за исключением первых измерений `segment_ids.rank`, которые заменяются одним измерениемw, имеющим размер `num_segments`.

Унаследованные методы

Публичные методы

публичный вывод <T> asOutput ()

Возвращает символический дескриптор тензора.

Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.

public static SegmentMinV2 <T> create (область действия , данные операнда <T>, идентификаторы сегментов операнда <U>, операнд <V> numSegments)

Фабричный метод для создания класса, обертывающего новую операцию SegmentMinV2.

Параметры
объем текущий объем
идентификаторы сегментов Одномерный тензор, размер которого равен размеру первого измерения данных. Значения должны быть отсортированы и могут повторяться. Значения должны быть меньше `num_segments`.

Внимание: значения всегда проверяются для сортировки на ЦП и никогда не проверяются на графическом процессоре.

Возврат
  • новый экземпляр SegmentMinV2

публичный вывод <T> вывод ()

Имеет ту же форму, что и данные, за исключением первых измерений `segment_ids.rank`, которые заменяются одним измерениемw, имеющим размер `num_segments`.