tensorflow::ops::UnsortedSegmentProd

#include <math_ops.h>

Computes the product along segments of a tensor.

Summary

Read the section on segmentation for an explanation of segments.

This operator is similar to the unsorted segment sum operator found (here). Instead of computing the sum over segments, it computes the product of all entries belonging to a segment such that:

\(output_i = \prod_{j...} data[j...]\) where the product is over tuples j... such that segment_ids[j...] == i.

For example:

c = tf.constant([[1,2,3,4], [5,6,7,8], [4,3,2,1]])
tf.unsorted_segment_prod(c, tf.constant([0, 1, 0]), num_segments=2)
# ==> [[ 4,  6, 6, 4],
#       [5,  6, 7, 8]]

If there is no entry for a given segment ID i, it outputs 1.

If the given segment ID i is negative, then the corresponding value is dropped, and will not be included in the result.

Args:

  • scope: A Scope object
  • segment_ids: A tensor whose shape is a prefix of data.shape.

Returns:

  • Output: Has same shape as data, except for the first segment_ids.rank dimensions, which are replaced with a single dimension which has size num_segments.

Constructors and Destructors

UnsortedSegmentProd(const ::tensorflow::Scope & scope, ::tensorflow::Input data, ::tensorflow::Input segment_ids, ::tensorflow::Input num_segments)

Public attributes

operation
output

Public functions

node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

Public attributes

operation

Operation operation

output

::tensorflow::Output output

Public functions

UnsortedSegmentProd

 UnsortedSegmentProd(
  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