Save the date! Google I/O returns May 18-20

# tf.compat.v1.nn.sufficient_statistics

Calculate the sufficient statistics for the mean and variance of `x`.

These sufficient statistics are computed using the one pass algorithm on an input that's optionally shifted. See: https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Computing_shifted_data

#### For example:

````t = [[1, 2, 3], [4, 5, 6]]`
`sufficient_statistics(t, [1])`
`(<tf.Tensor: shape=(), dtype=int32, numpy=3>, <tf.Tensor: shape=(2,),`
`dtype=int32, numpy=array([ 6, 15], dtype=int32)>, <tf.Tensor: shape=(2,),`
`dtype=int32, numpy=array([14, 77], dtype=int32)>, None)`
`sufficient_statistics(t, [-1])`
`(<tf.Tensor: shape=(), dtype=int32, numpy=3>, <tf.Tensor: shape=(2,),`
`dtype=int32, numpy=array([ 6, 15], dtype=int32)>, <tf.Tensor: shape=(2,),`
`dtype=int32, numpy=array([14, 77], dtype=int32)>, None)`
```

`x` A `Tensor`.
`axes` Array of ints. Axes along which to compute mean and variance. As in Python, the axes can also be negative numbers. A negative axis is interpreted as counting from the end of the rank, i.e., axis + rank(values)-th dimension.
`shift` A `Tensor` containing the value by which to shift the data for numerical stability, or `None` if no shift is to be performed. A shift close to the true mean provides the most numerically stable results.
`keep_dims` produce statistics with the same dimensionality as the input.
`name` Name used to scope the operations that compute the sufficient stats.
`keepdims` Alias for keep_dims.

Four `Tensor` objects of the same type as `x`:

• the count (number of elements to average over).
• the (possibly shifted) sum of the elements in the array.
• the (possibly shifted) sum of squares of the elements in the array.
• the shift by which the mean must be corrected or None if `shift` is None.