tensorflow::ops::SegmentProdV2
#include <math_ops.h>
Вычисляет произведение элементов сегментов тензора.
Краткое описание
Прочитайте раздел о сегментации, чтобы узнать о сегментах.
Вычисляет тензор, такой что \(output_i = \prod_j data_j\), где произведение вычисляется по j, таким что segment_ids[j] == i.
Если произведение для заданного идентификатора сегмента i пусто, output[i] = 1.
Примечание: в настоящее время эта операция поддерживается только при jit_compile=True.
Единственное отличие от SegmentProd — дополнительный вход num_segments. Это помогает вычислить форму выходных данных во время компиляции. num_segments должно быть согласовано с segment_ids. Например, Max(segment_ids) - 1 должно быть равно num_segments для одномерного segment_ids. При несогласованном num_segments операция всё равно выполняется. Единственное отличие состоит в том, что размер выходных данных равен num_segments независимо от размера segment_ids и data. Если num_segments меньше ожидаемого размера выходных данных, последние элементы игнорируются; если num_segments больше ожидаемого размера выходных данных, последним элементам присваивается значение 1.
Например:
.function(jit_compile=True) ... def test(c): ... return tf.raw_ops.SegmentProdV2(data=c, segment_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)
Аргументы:
- scope: объект Scope
- segment_ids: одномерный тензор, размер которого равен размеру первого измерения
data. Значения должны быть отсортированы; они могут повторяться. Значения должны быть меньшеnum_segments.
Внимание: на CPU значения всегда проверяются на отсортированность, на GPU проверка не выполняется.
Возвращает:
-
Output: имеет ту же форму, что и data, за исключением первыхsegment_ids.rankизмерений, которые заменяются одним измерением с размеромnum_segments.
| Конструкторы и деструкторы | |
|---|---|
SegmentProdV2(const ::tensorflow::Scope & scope, ::tensorflow::Input data, ::tensorflow::Input segment_ids, ::tensorflow::Input num_segments) |
| Открытые атрибуты | |
|---|---|
operation | |
output | |
| Открытые функции | |
|---|---|
node() const | ::tensorflow::Node * |
operator::tensorflow::Input() const | |
operator::tensorflow::Output() const | |
Открытые атрибуты
operation
Operation operation
output
::tensorflow::Output output
Открытые функции
SegmentProdV2
SegmentProdV2( const ::tensorflow::Scope & scope, ::tensorflow::Input data, ::tensorflow::Input segment_ids, ::tensorflow::Input num_segments )
node
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
© 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/cc/class/tensorflow/ops/segment-prod-v2