Spaces:
Sleeping
Sleeping
#from robustness.robustness.tools.helpers https://github.com/MadryLab/robustness | |
class AverageMeter(object): | |
"""Computes and stores the average and current value""" | |
def __init__(self): | |
self.reset() | |
def reset(self): | |
self.val = 0 | |
self.avg = 0 | |
self.sum = 0 | |
self.count = 0 | |
def update(self, val, n=1): | |
self.val = val | |
self.sum += val * n | |
self.count += n | |
self.avg = self.sum / self.count | |
class VariableLossLogPrinter(): | |
def __init__(self): | |
self.losses = {} | |
def log_loss(self, key, val, n=1): | |
if not key in self.losses: | |
self.losses[key] = AverageMeter() | |
self.losses[key].update(val, n) | |
def get_loss_string(self): | |
loss_string = " | ".join([f"{key}: {self.losses[key].avg:.4f}" for key in self.losses]) | |
return loss_string | |