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 tf.math.unsorted_segment_sum
, 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.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)
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. Caution: On CPU, values in segment_ids
are always validated to be less than num_segments
, and an error is thrown for out-of-bound indices. On GPU, this does not throw an error for out-of-bound indices. On Gpu, out-of-bound indices result in safe but unspecified behavior, which may include ignoring out-of-bound indices or outputting a tensor with a 0 stored in the first dimension of its shape if num_segments
is 0.
Args:
- scope: A Scope object
- segment_ids: A tensor whose shape is a prefix of
data.shape
. The values must be less thannum_segments
.
Caution: The values are always validated to be in range on CPU, never validated on GPU.
Returns:
Output
: Has same shape as data, except for the firstsegment_ids.rank
dimensions, which are replaced with a single dimension which has sizenum_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