Purpose

이 Code Snippet은 'Average Meter'객체를 설명하고자 합니다.


Dependency Packages

tqdm


Code Example

Ex1) 객체 선언부

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

Ex2) 사용 예시

train_loss = AverageMeter()
for epoch in num_epochs :
    pbar = tqdm(train_loader, total=len(train_loader), position=0, leave=True)
    for batch in pbar :
        ...
        train_loss.update(loss, len(batch.shape[0]))
        description(f'train_loss : {train_loss.avg}')
        pbar.set_description(description)
        ...
    train_loss.reset()

PS

Model 학습 시 Loss나 Metric에 대한 값을 손쉽게 핸들링할 수 있도록 사용하는 객체입니다.

+ Recent posts