class_docstr: Callback to implement iteration based model averaging strategies.
  
  Parameters
  ----------
  avg_strategy
      IterationAveragingStrategy, one of NTA or Alpha_Suffix from
      gluonts.mx.trainer.model_iteration_averaging
code: def on_epoch_end(
      self,
      epoch_no: int,
      epoch_loss: float,
      training_network: nn.HybridBlock,
      trainer: gluon.Trainer,
      best_epoch_info: Dict[str, Any],
      ctx: mx.Context,
  ) -> bool:
      self.avg_strategy.update_average_trigger(
          metric=epoch_loss, epoch=epoch_no + 1
      )
      # once triggered, update the average immediately
      self.avg_strategy.apply(training_network)
      return True
  
imports: from typing import Any, Dict, List, Optional
  import logging
  import mxnet
  import mxnet.gluon.nn
  from mxnet import gluon
  from gluonts.core.component import validated
  from .callback import Callback
label_desc: Use image node_id 5 for calling the ModelIterationAveraging obj's underlying member method code with example usage: obj.on_epoch_end(epoch_no, epoch_loss, training_network, trainer, best_epoch_info, ctx) and returns: True