Defined in tensorflow/python/ops/

See the guide: Images > Denoising

Calculate and return the total variation for one or more images.

The total variation is the sum of the absolute differences for neighboring pixel-values in the input images. This measures how much noise is in the images.

This can be used as a loss-function during optimization so as to suppress noise in images. If you have a batch of images, then you should calculate the scalar loss-value as the sum: loss = tf.reduce_sum(tf.image.total_variation(images))

This implements the anisotropic 2-D version of the formula described here:


  • images: 4-D Tensor of shape [batch, height, width, channels] or 3-D Tensor of shape [height, width, channels].

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


  • ValueError: if images.shape is not a 3-D or 4-D vector.


The total variation of images.

If images was 4-D, return a 1-D float Tensor of shape [batch] with the total variation for each image in the batch. If images was 3-D, return a scalar float with the total variation for that image.