added grad hook

This commit is contained in:
William Falcon
2019-07-21 18:15:58 -04:00
parent 3888825333
commit f6416f737d
2 changed files with 19 additions and 0 deletions
+5
View File
@@ -795,6 +795,11 @@ class Trainer(TrainerIO):
for optimizer in self.optimizers:
optimizer.step()
# insert after step hook
if self.__is_function_implemented('on_before_zero_grad'):
model_ref = self.__get_model()
response = model_ref.on_before_zero_grad(optimizer)
# clear gradients
optimizer.zero_grad()
+14
View File
@@ -22,3 +22,17 @@ class ModelHooks(torch.nn.Module):
def on_tng_metrics(self, metrics):
pass
def on_before_zero_grad(self, optimizer):
"""
Called after optimizer.step() and before optimizer.zero_grad()
for optimizer in optimizers:
optimizer.step()
model.on_before_zero_grad(optimizer) # < ---- called here
optimizer.zero_grad
:param optimizer:
:return:
"""
pass