class_docstr: Wraps a stateless metric function with the Mean metric.
docstr: Accumulates metric statistics.
  
  `y_true` and `y_pred` should have the same shape.
  Args:
    y_true: The ground truth values.
    y_pred: The predicted values.
    sample_weight: Optional weighting of each example. Defaults to 1.
      Can be a `Tensor` whose rank is either 0, or the same rank as
      `y_true`, and must be broadcastable to `y_true`.
  Returns:
    Update op.
code: def update_state(self, y_true, y_pred, sample_weight=None):
      """Accumulates metric statistics.
  
      `y_true` and `y_pred` should have the same shape.
      Args:
        y_true: The ground truth values.
        y_pred: The predicted values.
        sample_weight: Optional weighting of each example. Defaults to 1.
          Can be a `Tensor` whose rank is either 0, or the same rank as
          `y_true`, and must be broadcastable to `y_true`.
      Returns:
        Update op.
      """
      y_true = tf.cast(y_true, self._dtype)
      y_pred = tf.cast(y_pred, self._dtype)
      # TODO: Add checks for ragged tensors and dimensions:
      #   `ragged_assert_compatible_and_get_flat_values`
      #   and `squeeze_or_expand_dimensions`
      matches = self._fn(y_true, y_pred, **self._fn_kwargs)
      return super().update_state(matches, sample_weight=sample_weight)
  
file_path: addons/tensorflow_addons/metrics/utils.py
imports: import numpy
  import tensorflow
  from tensorflow_addons.utils.types import AcceptableDTypes
  from typeguard import typechecked
  from typing import Optional, Callable
label_desc: Use image node_id 2 for calling the MeanMetricWrapper obj's underlying member method code with example usage: obj.update_state(y_true, y_pred, sample_weight) and returns: super