Watch talks from the 2019 TensorFlow Dev Summit Watch now



Defined in tensorflow/python/ops/

Computes the variance of elements across dimensions of a tensor.

Reduces input_tensor along the dimensions given in axis. Unless keepdims is true, the rank of the tensor is reduced by 1 for each entry in axis. If keepdims is true, the reduced dimensions are retained with length 1.

If axis is None, all dimensions are reduced, and a tensor with a single element is returned.

For example:

x = tf.constant([[1., 2.], [3., 4.]])
tf.reduce_variance(x)  # 1.25
tf.reduce_variance(x, 0)  # [1., 1.]
tf.reduce_variance(x, 1)  # [0.25,  0.25]


  • input_tensor: The tensor to reduce. Should have numeric type.
  • axis: The dimensions to reduce. If None (the default), reduces all dimensions. Must be in the range [-rank(input_tensor), rank(input_tensor)).
  • keepdims: If true, retains reduced dimensions with length 1.
  • name: A name scope for the associated operations (optional).


The reduced tensor, of the same dtype as the input_tensor.

Numpy Compatibility

Equivalent to np.var

Please note that np.var has a dtype parameter that could be used to specify the output type. By default this is dtype=float64. On the other hand, tf.reduce_variance has an aggressive type inference from input_tensor,