def stepOpt()

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)