torch.__future__#
创建于: 2024年2月5日 | 最后更新于: 2025年6月12日
- torch.__future__.set_overwrite_module_params_on_conversion(value)[源代码]#
设置在转换
nn.Module时,是为参数分配新张量,还是原地修改现有参数。启用后,以下方法将为模块分配新参数:
module.{device}()(例如nn.Module.cuda()) 用于在设备之间移动模块。module.{dtype}()(例如nn.Module.float()) 用于将模块转换为不同的 dtype。nn.Module.to()nn.Module.to_empty()
- 参数:
value (bool) – 是否分配新张量。
- torch.__future__.get_overwrite_module_params_on_conversion()[源代码]#
返回转换
torch.nn.Module时,是为参数分配新张量,还是原地修改现有参数。默认为False。有关更多信息,请参阅
set_overwrite_module_params_on_conversion()。- 返回类型:
- torch.__future__.set_swap_module_params_on_conversion(value)[源代码]#
设置在转换
nn.Module时,是使用swap_tensors()而不是设置.data来原地修改现有参数,还是在将 state dict 加载到nn.Module中时使用param.copy_(state_dict[key])。注意
启用后,以下方法将原地交换现有参数:
module.{device}()(例如nn.Module.cuda()) 用于在设备之间移动模块。module.{dtype}()(例如nn.Module.float()) 用于将模块转换为不同的 dtype。nn.Module.to()nn.Module.to_empty()nn.Module.load_state_dict()
当启用此项时,
load_state_dict()的语义如下:对于每个参数/缓冲区,其对应的
state_dict['key']将通过module_load()进行转换(即res = param.module_load(state_dict['key']))。如有必要,
res将被包装成一个Parameter。模块中的参数/缓冲区将通过
swap_tensors()与res进行交换。
- 参数:
value (bool) – 是否使用
swap_tensors()。
- torch.__future__.get_swap_module_params_on_conversion()[源代码]#
返回转换
nn.Module时,是使用swap_tensors()而不是设置 .data 来原地修改现有参数。默认为False。有关更多信息,请参阅
set_swap_module_params_on_conversion()。- 返回类型: