Spaces:
Running
on
Zero
Running
on
Zero
import os | |
class AverageMeter: | |
"""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 | |
def accuracy(output, target, topk=(1,)): | |
"""Computes the precision@k for the specified values of k""" | |
maxk = max(topk) | |
batch_size = target.size(0) | |
_, pred = output.topk(maxk, 1, True, True) | |
pred = pred.t() | |
correct = pred.eq(target.view(1, -1).expand_as(pred)) | |
res = [] | |
for k in topk: | |
correct_k = correct[:k].reshape(-1).float().sum(0) | |
res.append(correct_k.mul_(100.0 / batch_size)) | |
return res | |
def get_outdir(path, *paths, inc=False): | |
outdir = os.path.join(path, *paths) | |
if not os.path.exists(outdir): | |
os.makedirs(outdir) | |
elif inc: | |
count = 1 | |
outdir_inc = outdir + '-' + str(count) | |
while os.path.exists(outdir_inc): | |
count = count + 1 | |
outdir_inc = outdir + '-' + str(count) | |
assert count < 100 | |
outdir = outdir_inc | |
os.makedirs(outdir) | |
return outdir | |