in opacus/grad_sample/grad_sample_module.py [0:0]
def remove_hooks(self) -> None:
"""
Removes hooks added by ``add_hooks()``
"""
self.disable_hooks()
for p in self.parameters():
if hasattr(p, "ddp_hooks"):
while p.ddp_hooks:
handle = p.ddp_hooks.pop()
handle.remove()
delattr(p, "ddp_hooks")
if not hasattr(self, "autograd_grad_sample_hooks"):
raise ValueError("Asked to remove hooks, but no hooks found")
else:
while self.autograd_grad_sample_hooks:
handle = self.autograd_grad_sample_hooks.pop()
handle.remove()
delattr(self, "autograd_grad_sample_hooks")
delattr(self._module, "autograd_grad_sample_hooks")