评价此页

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_dictstate_dict 的浅拷贝。钩子可以就地修改 state_dict,或者选择性地返回一个新的。如果返回了 state_dict,它将被用于加载到优化器中。

钩子将使用参数 selfstate_dict 调用,在调用 load_state_dictself 上之前。注册的钩子可用于在调用 load_state_dict 之前执行预处理。

参数
  • hook (Callable) – 用户定义的待注册钩子。

  • prepend (bool) – 如果为 True,则提供的预置 hook 将在 load_state_dict 上所有已注册的预置钩子之前执行。否则,提供的 hook 将在所有已注册的预置钩子之后执行。(默认: False)

返回

一个句柄,可用于通过调用 handle.remove() 来移除添加的钩子

返回类型

torch.utils.hooks.RemoveableHandle