register_forward_pre_hook
- UNet.register_forward_pre_hook(hook: Callable[[T, Tuple[Any, ...]], Any | None] | Callable[[T, Tuple[Any, ...], Dict[str, Any]], Tuple[Any, Dict[str, Any]] | None], *, prepend: bool = False, with_kwargs: bool = False) RemovableHandle
- Registers a forward pre-hook on the module. - The hook will be called every time before - forward()is invoked.- If - with_kwargsis false or not specified, the input contains only the positional arguments given to the module. Keyword arguments won’t be passed to the hooks and only to the- forward. The hook can modify the input. User can either return a tuple or a single modified value in the hook. We will wrap the value into a tuple if a single value is returned (unless that value is already a tuple). The hook should have the following signature:- hook(module, args) -> None or modified input - If - with_kwargsis true, the forward pre-hook will be passed the kwargs given to the forward function. And if the hook modifies the input, both the args and kwargs should be returned. The hook should have the following signature:- hook(module, args, kwargs) -> None or a tuple of modified input and kwargs - Parameters:
- hook (Callable) – The user defined hook to be registered. 
- prepend (bool) – If true, the provided - hookwill be fired before all existing- forward_prehooks on this- torch.nn.modules.Module. Otherwise, the provided- hookwill be fired after all existing- forward_prehooks on this- torch.nn.modules.Module. Note that global- forward_prehooks registered with- register_module_forward_pre_hook()will fire before all hooks registered by this method. Default:- False
- with_kwargs (bool) – If true, the - hookwill be passed the kwargs given to the forward function. Default:- False
 
- Returns:
- a handle that can be used to remove the added hook by calling - handle.remove()
- Return type:
- torch.utils.hooks.RemovableHandle