(image)
return image
Linearly scales `image` to have zero mean and unit norm.

  This op computes `(x - mean) / adjusted_stddev`, where `mean` is the average
  of all values in image, and
  `adjusted_stddev = max(stddev, 1.0/sqrt(image.NumElements()))`.

  `stddev` is the standard deviation of all values in `image`. It is capped
  away from zero to protect against division by 0 when handling uniform images.

  Args:
    image: 3-D tensor of shape `[height, width, channels]`.

  Returns:
    The standardized image with same shape as `image`.

  Raises:
    ValueError: if the shape of 'image' is incompatible with this function.
Linearly scales `image` to have zero mean and unit norm.
Linearly scales image to have zero mean and unit norm .
def per_image_standardization(image):
  """Linearly scales `image` to have zero mean and unit norm.

  This op computes `(x - mean) / adjusted_stddev`, where `mean` is the average
  of all values in image, and
  `adjusted_stddev = max(stddev, 1.0/sqrt(image.NumElements()))`.

  `stddev` is the standard deviation of all values in `image`. It is capped
  away from zero to protect against division by 0 when handling uniform images.

  Args:
    image: 3-D tensor of shape `[height, width, channels]`.

  Returns:
    The standardized image with same shape as `image`.

  Raises:
    ValueError: if the shape of 'image' is incompatible with this function.
  """
  image = ops.convert_to_tensor(image, name='image')
  image = control_flow_ops.with_dependencies(
      _Check3DImage(image, require_static=False), image)
  num_pixels = math_ops.reduce_prod(array_ops.shape(image))

  image = math_ops.cast(image, dtype=dtypes.float32)
  image_mean = math_ops.reduce_mean(image)

  variance = (math_ops.reduce_mean(math_ops.square(image)) -
              math_ops.square(image_mean))
  variance = gen_nn_ops.relu(variance)
  stddev = math_ops.sqrt(variance)

  # Apply a minimum normalization that protects us against uniform images.
  min_stddev = math_ops.rsqrt(math_ops.cast(num_pixels, dtypes.float32))
  pixel_value_scale = math_ops.maximum(stddev, min_stddev)
  pixel_value_offset = image_mean

  image = math_ops.subtract(image, pixel_value_offset)
  image = math_ops.div(image, pixel_value_scale)
  return image
def per_image_standardization ( image ) : image = ops . convert_to_tensor ( image , name = 'image' ) image = control_flow_ops . with_dependencies ( _Check3DImage ( image , require_static = False ) , image ) num_pixels = math_ops . reduce_prod ( array_ops . shape ( image ) ) image = math_ops . cast ( image , dtype = dtypes . float32 ) image_mean = math_ops . reduce_mean ( image ) variance = ( math_ops . reduce_mean ( math_ops . square ( image ) ) - math_ops . square ( image_mean ) ) variance = gen_nn_ops . relu ( variance ) stddev = math_ops . sqrt ( variance ) # Apply a minimum normalization that protects us against uniform images. min_stddev = math_ops . rsqrt ( math_ops . cast ( num_pixels , dtypes . float32 ) ) pixel_value_scale = math_ops . maximum ( stddev , min_stddev ) pixel_value_offset = image_mean image = math_ops . subtract ( image , pixel_value_offset ) image = math_ops . div ( image , pixel_value_scale ) return image