code: def _mean_image_subtraction(image, means, num_channels):
    
    if image.get_shape().ndims != 3:
      raise ValueError('Input must be of size [height, width, C>0]')
  
    if len(means) != num_channels:
      raise ValueError('len(means) must match the number of channels')
  
    mlperf_log.resnet_print(key=mlperf_log.INPUT_MEAN_SUBTRACTION,
                            value=means)
  
    # We have a 1-D tensor of means; convert to 3-D.
    means = tf.expand_dims(tf.expand_dims(means, 0), 0)
  
    return image - means
docs: Subtracts the given means from each image channel.
  
    For example:
      means = [123.68, 116.779, 103.939]
      image = _mean_image_subtraction(image, means)
  
    Note that the rank of `image` must be known.
  
    Args:
      image: a tensor of size [height, width, C].
      means: a C-vector of values to subtract from each channel.
      num_channels: number of color channels in the image that will be distorted.
  
    Returns:
      the centered image.
  
    Raises:
      ValueError: If the rank of `image` is unknown, if `image` has a rank other
        than three or if the number of channels in `image` doesn't match the
        number of values in `means`.