TensorFlow provides several operations that you can use to perform common math computations that reduce various dimensions of a tensor.

`tf.reduce_sum(input_tensor, reduction_indices=None, keep_dims=False, name=None)`

Computes the sum of elements across dimensions of a tensor.

Reduces `input_tensor`

along the dimensions given in `reduction_indices`

.
Unless `keep_dims`

is true, the rank of the tensor is reduced by 1 for each
entry in `reduction_indices`

. If `keep_dims`

is true, the reduced dimensions
are retained with length 1.

If `reduction_indices`

has no entries, all dimensions are reduced, and a
tensor with a single element is returned.

For example:

```
# 'x' is [[1, 1, 1]
# [1, 1, 1]]
tf.reduce_sum(x) ==> 6
tf.reduce_sum(x, 0) ==> [2, 2, 2]
tf.reduce_sum(x, 1) ==> [3, 3]
tf.reduce_sum(x, 1, keep_dims=True) ==> [[3], [3]]
tf.reduce_sum(x, [0, 1]) ==> 6
```

##### Args:

: The tensor to reduce. Should have numeric type.`input_tensor`

: The dimensions to reduce. If`reduction_indices`

`None`

(the default), reduces all dimensions.: If true, retains reduced dimensions with length 1.`keep_dims`

: A name for the operation (optional).`name`

##### Returns:

The reduced tensor.

`tf.reduce_prod(input_tensor, reduction_indices=None, keep_dims=False, name=None)`

Computes the product of elements across dimensions of a tensor.

Reduces `input_tensor`

along the dimensions given in `reduction_indices`

.
Unless `keep_dims`

is true, the rank of the tensor is reduced by 1 for each
entry in `reduction_indices`

. If `keep_dims`

is true, the reduced dimensions
are retained with length 1.

If `reduction_indices`

has no entries, all dimensions are reduced, and a
tensor with a single element is returned.

##### Args:

: The tensor to reduce. Should have numeric type.`input_tensor`

: The dimensions to reduce. If`reduction_indices`

`None`

(the default), reduces all dimensions.: If true, retains reduced dimensions with length 1.`keep_dims`

: A name for the operation (optional).`name`

##### Returns:

The reduced tensor.

`tf.reduce_min(input_tensor, reduction_indices=None, keep_dims=False, name=None)`

Computes the minimum of elements across dimensions of a tensor.

Reduces `input_tensor`

along the dimensions given in `reduction_indices`

.
Unless `keep_dims`

is true, the rank of the tensor is reduced by 1 for each
entry in `reduction_indices`

. If `keep_dims`

is true, the reduced dimensions
are retained with length 1.

If `reduction_indices`

has no entries, all dimensions are reduced, and a
tensor with a single element is returned.

##### Args:

: The tensor to reduce. Should have numeric type.`input_tensor`

: The dimensions to reduce. If`reduction_indices`

`None`

(the default), reduces all dimensions.: If true, retains reduced dimensions with length 1.`keep_dims`

: A name for the operation (optional).`name`

##### Returns:

The reduced tensor.

`tf.reduce_max(input_tensor, reduction_indices=None, keep_dims=False, name=None)`

Computes the maximum of elements across dimensions of a tensor.

`input_tensor`

along the dimensions given in `reduction_indices`

.
Unless `keep_dims`

is true, the rank of the tensor is reduced by 1 for each
entry in `reduction_indices`

. If `keep_dims`

is true, the reduced dimensions
are retained with length 1.

`reduction_indices`

has no entries, all dimensions are reduced, and a
tensor with a single element is returned.

##### Args:

: The tensor to reduce. Should have numeric type.`input_tensor`

: The dimensions to reduce. If`reduction_indices`

`None`

(the default), reduces all dimensions.: If true, retains reduced dimensions with length 1.`keep_dims`

: A name for the operation (optional).`name`

##### Returns:

The reduced tensor.

`tf.reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)`

Computes the mean of elements across dimensions of a tensor.

`input_tensor`

along the dimensions given in `reduction_indices`

.
Unless `keep_dims`

is true, the rank of the tensor is reduced by 1 for each
entry in `reduction_indices`

. If `keep_dims`

is true, the reduced dimensions
are retained with length 1.

`reduction_indices`

has no entries, all dimensions are reduced, and a
tensor with a single element is returned.

For example:

```
# 'x' is [[1., 1.]
# [2., 2.]]
tf.reduce_mean(x) ==> 1.5
tf.reduce_mean(x, 0) ==> [1.5, 1.5]
tf.reduce_mean(x, 1) ==> [1., 2.]
```

##### Args:

: The tensor to reduce. Should have numeric type.`input_tensor`

: The dimensions to reduce. If`reduction_indices`

`None`

(the default), reduces all dimensions.: If true, retains reduced dimensions with length 1.`keep_dims`

: A name for the operation (optional).`name`

##### Returns:

The reduced tensor.

`tf.reduce_all(input_tensor, reduction_indices=None, keep_dims=False, name=None)`

Computes the "logical and" of elements across dimensions of a tensor.

`input_tensor`

along the dimensions given in `reduction_indices`

.
Unless `keep_dims`

is true, the rank of the tensor is reduced by 1 for each
entry in `reduction_indices`

. If `keep_dims`

is true, the reduced dimensions
are retained with length 1.

`reduction_indices`

has no entries, all dimensions are reduced, and a
tensor with a single element is returned.

For example:

```
# 'x' is [[True, True]
# [False, False]]
tf.reduce_all(x) ==> False
tf.reduce_all(x, 0) ==> [False, False]
tf.reduce_all(x, 1) ==> [True, False]
```

##### Args:

: The boolean tensor to reduce.`input_tensor`

: The dimensions to reduce. If`reduction_indices`

`None`

(the default), reduces all dimensions.: If true, retains reduced dimensions with length 1.`keep_dims`

: A name for the operation (optional).`name`

##### Returns:

The reduced tensor.

`tf.reduce_any(input_tensor, reduction_indices=None, keep_dims=False, name=None)`

Computes the "logical or" of elements across dimensions of a tensor.

`input_tensor`

along the dimensions given in `reduction_indices`

.
Unless `keep_dims`

is true, the rank of the tensor is reduced by 1 for each
entry in `reduction_indices`

. If `keep_dims`

is true, the reduced dimensions
are retained with length 1.

`reduction_indices`

has no entries, all dimensions are reduced, and a
tensor with a single element is returned.

For example:

```
# 'x' is [[True, True]
# [False, False]]
tf.reduce_any(x) ==> True
tf.reduce_any(x, 0) ==> [True, True]
tf.reduce_any(x, 1) ==> [True, False]
```

##### Args:

: The boolean tensor to reduce.`input_tensor`

: The dimensions to reduce. If`reduction_indices`

`None`

(the default), reduces all dimensions.: If true, retains reduced dimensions with length 1.`keep_dims`

: A name for the operation (optional).`name`

##### Returns:

The reduced tensor.

`tf.accumulate_n(inputs, shape=None, tensor_dtype=None, name=None)`

Returns the element-wise sum of a list of tensors.

Optionally, pass `shape`

and `tensor_dtype`

for shape and type checking,
otherwise, these are inferred.

For example:

```
# tensor 'a' is [[1, 2], [3, 4]]
# tensor `b` is [[5, 0], [0, 6]]
tf.accumulate_n([a, b, a]) ==> [[7, 4], [6, 14]]
# Explicitly pass shape and type
tf.accumulate_n([a, b, a], shape=[2, 2], tensor_dtype=tf.int32)
==> [[7, 4], [6, 14]]
```

##### Args:

: A list of`inputs`

`Tensor`

objects, each with same shape and type.: Shape of elements of`shape`

`inputs`

.: The type of`tensor_dtype`

`inputs`

.: A name for the operation (optional).`name`

##### Returns:

A `Tensor`

of same shape and type as the elements of `inputs`

.

##### Raises:

: If`ValueError`

`inputs`

don't all have same shape and dtype or the shape cannot be inferred.