Utils
Models utils
def count_parameters(model):
return sum(p.numel() for p in model.parameters() if p.requires_grad)
Data utils
def to_onehot(x, n_classes=14):
assert isinstance(x, int) or isinstance(x, (torch.Tensor))
x = x.long()
if isinstance(x, int):
c = torch.zeros(1, n_classes).long()
c[0][x] = 1
else:
x = x.cpu()
c = torch.LongTensor(x.size(0), n_classes)
c.zero_()
c.scatter_(1, x, 1) # dim, index, src value
return c
Training utils
def time_since(since):
now = time.time()
s = now - since
m = math.floor(s / 60)
s -= m * 60
return '{:02d}m {:02d}s'.format(int(m), int(s))