SegmentProdV2

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

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

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

Вычисляет тензор такой, что \\(output_i = \prod_j data_j\\) , где произведение находится над `j`, так что `segment_ids[j] == i`.

Если продукт пуст для данного идентификатора сегмента `i`, `output[i] = 1`.

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

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

Например:

>>> @tf.function(jit_compile=True) ... def test(c): ... return tf.raw_ops.SegmentProdV2(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([[4, 6, 6, 4], [5, 6, 7, 8]], dtype=int32)

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

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

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

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

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

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

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

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

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

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

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

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

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

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