有时候写代码的时候,需要打印时间或者记录loss, 有时候训练完一轮了之后还需要reset,其实这个小功能的东西可以通过下面的办法实现。
class Updater(object):
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.num/self.count
比如记录时间
TIME = Updater()
start = time.time()
for i in range(20):
#do something
TIME.update(time.time()-start)
start = time.time()
不过目前见到这个东西是常常被用来记录loss.
近期评论