MCPcopy Index your code
hub / github.com/huggingface/diffusers / remove_hook

Method remove_hook

src/diffusers/hooks/hooks.py:220–246  ·  view source on GitHub ↗
(self, name: str, recurse: bool = True)

Source from the content-addressed store, hash-verified

218 return self.hooks.get(name, None)
219
220 def remove_hook(self, name: str, recurse: bool = True) -> None:
221 if name in self.hooks.keys():
222 num_hooks = len(self._hook_order)
223 hook = self.hooks[name]
224 index = self._hook_order.index(name)
225 fn_ref = self._fn_refs[index]
226
227 old_forward = fn_ref.forward
228 if fn_ref.original_forward is not None:
229 old_forward = fn_ref.original_forward
230
231 if index == num_hooks - 1:
232 self._module_ref.forward = old_forward
233 else:
234 self._fn_refs[index + 1].forward = old_forward
235
236 self._module_ref = hook.deinitalize_hook(self._module_ref)
237 del self.hooks[name]
238 self._hook_order.pop(index)
239 self._fn_refs.pop(index)
240
241 if recurse:
242 for module_name, module in self._module_ref.named_modules():
243 if module_name == "":
244 continue
245 if hasattr(module, "_diffusers_hook"):
246 module._diffusers_hook.remove_hook(name, recurse=False)
247
248 def reset_stateful_hooks(self, recurse: bool = True) -> None:
249 for hook_name in reversed(self._hook_order):

Callers 15

disable_cacheMethod · 0.80
remove_context_parallelFunction · 0.80
post_forwardMethod · 0.80
cleanup_modelsMethod · 0.80
cleanup_modelsMethod · 0.80
cleanup_modelsMethod · 0.80
cleanup_modelsMethod · 0.80
test_hook_registryMethod · 0.80

Calls 2

deinitalize_hookMethod · 0.45
popMethod · 0.45