in forge/trinity/pantheon.py [0:0]
def stepOpt(self, gradDicts):
grads = defaultdict(list)
keysets = [grads.keys() for grads in gradDicts]
for gradDict in gradDicts:
for worker, grad in gradDict.items():
grads[worker].append(grad)
for worker, gradList in grads.items():
grad = np.array(gradList)
grad = np.mean(grad, 0)
grad = np.clip(grad, -5, 5)
grads[worker] = grad
gradAry = torch.zeros_like(self.params)
for worker, grad in grads.items():
gradAry[worker] = torch.Tensor(grad)
self.opt.step(gradAry)