code: def epoch_info(self, training_info: TrainingInfo, global_idx: int, local_idx: int) -> EpochInfo:
          
          return EpochInfo(
              training_info=training_info,
              global_epoch_idx=global_idx,
              local_epoch_idx=local_idx,
              batches_per_epoch=self._source.train_iterations_per_epoch(),
              optimizer=self._optimizer_instance
          )
docs: Create Epoch info