def log_phase_end(self, tag):
    if (not self.train):
        return
    start_time = (self.phase_start_time_train if (tag == 'train') else self.phase_start_time_total)
    phase_duration = (time.perf_counter() - start_time)
    im_per_sec = ((self.get_global_batchsize() * self.num_batches_per_phase) / phase_duration)
    self.perf_log.append({'tag': tag, 'phase_idx': self.train_phase_idx, 'epoch_duration': phase_duration, 'im_per_sec': im_per_sec})
def log_phase_end(self, tag):
    if (not self.train):
        return
    start_time = (self.phase_start_time_train if (tag == 'train') else self.phase_start_time_total)
    phase_duration = (time.perf_counter() - start_time)
    im_per_sec = ((self.get_global_batchsize() * self.num_batches_per_phase) / phase_duration)
    self.perf_log.append({'tag': tag, 'phase_idx': self.train_phase_idx, 'epoch_duration': phase_duration, 'im_per_sec': im_per_sec})