code: def after_epoch_profile(self, epoch_id: int, profile: TimeProfile, train_stream_name: str, extra_streams: Iterable[str]) -> None:
          
          pass
docs: After epoch profile event.
  
          This event provides opportunity to process time profile of the finished epoch.
  
          :param epoch_id: finished epoch id
          :param profile: dictionary of lists of event timings that were measured during the epoch
          :param extra_streams: enumeration of additional stream names