class Accumulator: #@save"""在`n`个变量上累加。"""def __init__(self, n):self.data = [0.0] * ndef add(self, *args):self.data = [a + float(b) for a, b in zip(self.data, args)]def reset(self):self.data = [0.0] * len(self.data)def __getitem__(self, idx):return self.data[idx]
这里 Accumulator
是一个实用程序类,用于对多个变量进行累加。
In [26]: metric = Accumulator(2)In [27]: metric
Out[27]: <__main__.Accumulator at 0x7f2e4827f820>In [28]: metric.data
Out[28]: [0.0, 0.0]In [29]: metric.add(1, 2)In [30]: metric.data
Out[30]: [1.0, 2.0]
参考资料:
1. https://zh-v2.d2l.ai/chapter_linear-networks/softmax-regression-scratch.html