Attend the Women in ML Symposium on December 7 Register now
Stay organized with collections Save and categorize content based on your preferences.


#include <math_ops.h>

Computes the mean along segments of a tensor.


Read the section on segmentation for an explanation of segments.

Computes a tensor such that \(output_i = \frac{\sum_j data_j}{N}\) where mean is over j such that segment_ids[j] == i and N is the total number of values summed.

If the mean is empty for a given segment ID i, output[i] = 0.

Caution: On CPU, values in segment_ids are always validated to be sorted, and an error is thrown for indices that are not increasing. On GPU, this does not throw an error for unsorted indices. On GPU, out-of-order indices result in safe but unspecified behavior, which may include treating out-of-order indices as a smaller following index when computing the numerator of the mean.

For example:

c = tf.constant([[1.0,2,3,4], [4, 3, 2, 1], [5,6,7,8]]) tf.math.segment_mean(c, tf.constant([0, 0, 1])).numpy() array([[2.5, 2.5, 2.5, 2.5], [5., 6., 7., 8.]], dtype=float32)


  • scope: A Scope object
  • segment_ids: A 1-D tensor whose size is equal to the size of data's first dimension. Values should be sorted and can be repeated.

Caution: The values are always validated to be sorted on CPU, never validated on GPU.


  • Output: Has same shape as data, except for dimension 0 which has size k, the number of segments.

Constructors and Destructors

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

Public attributes


Public functions

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

Public attributes


Operation operation


::tensorflow::Output output

Public functions


  const ::tensorflow::Scope & scope,
  ::tensorflow::Input data,
  ::tensorflow::Input segment_ids


::tensorflow::Node * node() const 


 operator::tensorflow::Input() const 


 operator::tensorflow::Output() const