torch.optim.Optimizer.register_load_state_dict_pre_hook¶
- Optimizer.register_load_state_dict_pre_hook(hook, prepend=False)[source][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
上的load_state_dict
之前,将使用参数self
和state_dict
调用钩子。已注册的钩子可用于在执行load_state_dict
调用之前执行预处理。- 参数:
hook(可调用对象)- 用户定义的将被注册的钩子。
prepend (bool) – 如果为 True,提供的预
hook
将在所有已注册的预钩子load_state_dict
之前触发。否则,提供的hook
将在所有已注册的预钩子之后触发。(默认:False)
- 返回值:
一个可以用来通过调用
handle.remove()
移除已添加钩子的句柄。- 返回类型:
torch.utils.hooks.RemoveableHandle