class_docstr: The callback that saves average model weights.
  
  The callback that should be used with optimizers that extend
  `tfa.optimizers.AveragedOptimizerWrapper`, i.e.,
  `tfa.optimizers.MovingAverage` and
  `tfa.optimizers.StochasticAverage` optimizers.
  It saves and, optionally, assigns the averaged weights.
  
  Args:
      update_weights: If `True`, assign the moving average weights
          to the model, and save them. If False, keep the old
          non-averaged weights, but the saved model uses the
          average weights.
  
      See `tf.keras.callbacks.ModelCheckpoint` for the other args.
code: def _get_optimizer(self):
      optimizer = self.model.optimizer
      if type(optimizer).__name__ in [
          "LossScaleOptimizer",
          "LossScaleOptimizerV1",
      ]:
          optimizer = optimizer.inner_optimizer
  
      return optimizer
  
file_path: addons/tensorflow_addons/callbacks/average_model_checkpoint.py
imports: import tensorflow
  from typeguard import typechecked
  from tensorflow_addons.optimizers.average_wrapper import AveragedOptimizerWrapper
label_desc: Use image node_id 2 for calling the AverageModelCheckpoint obj's underlying member method code with example usage: obj._get_optimizer() and returns: optimizer