Shortcuts

torch.__future__

torch.__future__.set_overwrite_module_params_on_conversion(value)[源代码]

设置在将 nn.Module 转换时,是否将新张量分配给参数,而不是就地更改现有参数。

当启用时,以下方法将为模块分配新参数:

  1. module.{device}()(例如 nn.Module.cuda())用于在设备之间移动模块

  2. module.{dtype}()(例如 nn.Module.float())用于将模块转换为不同的数据类型

  3. nn.Module.to()

  4. nn.Module.to_empty()

Parameters

(布尔值) – 是否分配新张量。

torch.__future__.get_overwrite_module_params_on_conversion()[源代码]

返回是否在转换 torch.nn.Module 时将新张量分配给参数,而不是就地更改现有参数。默认为 False

参见 set_overwrite_module_params_on_conversion() 了解更多信息。

Return type

bool

torch.__future__.set_swap_module_params_on_conversion(value)[源代码]

设置是否使用 swap_tensors() 而不是设置 .data 来就地更改现有参数,当转换 nn.Module 时,以及当将状态字典加载到 nn.Module 中时,而不是使用 param.copy_(state_dict[key])

当启用时,以下方法将就地交换现有参数:

  1. module.{device}()(例如 nn.Module.cuda())用于在设备之间移动模块

  2. module.{dtype}()(例如 nn.Module.float())用于将模块转换为不同的数据类型

  3. nn.Module.to()

  4. nn.Module.to_empty()

  5. nn.Module.load_state_dict()

当设置此项时,load_state_dict() 的语义如下:

  1. 对于每个参数/缓冲区,其对应的 state_dict['key'] 通过 module_load() 进行转换(即 res = param.module_load(state_dict['key'])

  2. 如果需要,res 将被包装在一个 Parameter

  3. 模块中的参数/缓冲区将通过swap_tensors()res进行交换

Parameters

(布尔值) – 是否使用 swap_tensors()

torch.__future__.get_swap_module_params_on_conversion()[源代码]

返回是否使用 swap_tensors() 而不是设置 .data 来就地更改现有参数,当转换 nn.Module 时。默认为 False

参见 set_swap_module_params_on_conversion() 了解更多信息。

Return type

bool