code: def on_epoch_end(self, epoch):
      epoch_run_time = time.time() - self.epoch_start
      logging.info("epoch':%d, 'time_taken': %f", epoch, epoch_run_time)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl import app
  from absl import flags
  from absl import logging
  import tensorflow
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import variables
  import os
  import sys
  import time
  import yaml
  from utils.flags import core
  from utils.logs import logger
  from utils.misc import keras_utils
  from utils.misc import model_helpers
  from utils import common
  from utils import imagenet_preprocessing
  from autodist import AutoDist
  from autodist.strategy.ps_strategy import PS
  from autodist.strategy.ps_lb_strategy import PSLoadBalancing
  from autodist.strategy.partitioned_ps_strategy import PartitionedPS
  from autodist.strategy.all_reduce_strategy import AllReduce
  from autodist.strategy.parallax_strategy import Parallax
label_desc: Use image node_id 6 for calling the TimeHistory obj's underlying member method code with example usage: obj.on_epoch_end(epoch) without return types