We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 4308a74 commit 9e0f0bfCopy full SHA for 9e0f0bf
1 file changed
deepmd/pt/train/training.py
@@ -838,11 +838,12 @@ def step(_step_id, task_key="Default") -> None:
838
839
# Set final grads: sum of (projected) per-task grads
840
self.optimizer.zero_grad(set_to_none=True)
841
+ num_tasks = len(self.model_keys)
842
for p in all_params:
843
pid = id(p)
844
g0p, g1p = task_grads[k0][pid], task_grads[k1][pid]
845
if g0p is not None and g1p is not None:
- p.grad = g0p + g1p
846
+ p.grad = (g0p + g1p) / num_tasks
847
elif g0p is not None:
848
p.grad = g0p
849
elif g1p is not None:
0 commit comments