torch.optim.Optimizer.register_load_state_dict_pre_hook#
- Optimizer.register_load_state_dict_pre_hook(hook, prepend=False)[source]#
注册一个 load_state_dict 前置钩子,它将在调用
load_state_dict()
之前被调用。它应该具有以下签名:hook(optimizer, state_dict) -> state_dict or None
参数
optimizer
是正在使用的优化器实例,参数state_dict
是用户传递给load_state_dict
的state_dict
的浅拷贝。钩子可以就地修改 state_dict,或者选择性地返回一个新的。如果返回了 state_dict,它将被用于加载到优化器中。钩子将使用参数
self
和state_dict
调用,在调用load_state_dict
到self
上之前。注册的钩子可用于在调用load_state_dict
之前执行预处理。- 参数
hook (Callable) – 用户定义的待注册钩子。
prepend (bool) – 如果为 True,则提供的预置
hook
将在load_state_dict
上所有已注册的预置钩子之前执行。否则,提供的hook
将在所有已注册的预置钩子之后执行。(默认: False)
- 返回
一个句柄,可用于通过调用
handle.remove()
来移除添加的钩子- 返回类型
torch.utils.hooks.RemoveableHandle