in src/sagemaker_xgboost_container/checkpointing.py [0:0]
def after_iteration(self, model, epoch=0, evals_log=None):
if self.rank != 0 or (not evals_log) or self.period is False or self.period == 0:
return
i = self.iteration
if i % self.period == 0 or i + 1 == self.start_iteration or i + 1 == self.end_iteration:
evaluation_monitor = EvaluationMonitor(self.rank, self.period, self.show_stdv)
msg: str = ""
for data, metric in evals_log.items():
for metric_name, log in metric.items():
stdv: Optional[float] = None
if isinstance(log[-1], tuple):
score = log[-1][0]
stdv = log[-1][1]
else:
score = log[-1]
msg += evaluation_monitor._fmt_metric(data, metric_name, score, stdv)
msg += "\n"
rabit.tracker_print("[%d]\t%s\n" % (i + self.start_iteration, msg))