def on_epoch_end()

in realbook/callbacks/speed.py [0:0]


    def on_epoch_end(self, epoch: int, logs: Any = None) -> None:
        epoch_end_time = time.time()
        seconds_per_epoch = epoch_end_time - self.epoch_begin_time
        seconds_per_batch = seconds_per_epoch / self.batches_per_epoch
        with self.tensorboard_writer.as_default():
            tf.summary.scalar(
                "Training Speed/Seconds Per Epoch",
                seconds_per_epoch,
                step=epoch,
            )
            tf.summary.scalar("Training Speed/Batches Per Epoch", self.batches_per_epoch, step=epoch)
            tf.summary.scalar(
                "Training Speed/Seconds Per Batch",
                seconds_per_batch,
                step=epoch,
            )
            if self.examples_per_batch:
                tf.summary.scalar(
                    "Training Speed/Seconds Per Example",
                    seconds_per_batch / self.examples_per_batch,
                    step=epoch,
                )
                tf.summary.scalar(
                    "Training Speed/Examples Per Second",
                    self.examples_per_batch / seconds_per_batch,
                    step=epoch,
                )
                tf.summary.scalar(
                    "Training Speed/Examples Per Batch",
                    self.examples_per_batch,
                    step=epoch,
                )
                tf.summary.scalar(
                    "Training Speed/Examples Per Epoch",
                    self.examples_per_batch * self.batches_per_epoch,
                    step=epoch,
                )