torch.__future__¶
- torch.__future__.set_overwrite_module_params_on_conversion(value)[source][source]¶
设置在转换时是否将新张量分配给参数,而不是就地更改现有参数
nn.Module
。当启用时,以下方法将为模块分配新参数:
module.{device}()
(例如nn.Module.cuda()
)用于在设备之间移动模块module.{dtype}()
(例如nn.Module.float()
)用于将模块转换为不同的数据类型nn.Module.to()
nn.Module.to_empty()
- 参数:
value(布尔值)- 是否分配新张量。
- torch.__future__.get_overwrite_module_params_on_conversion()[source][source]¶
返回在转换时是否将新张量分配给参数而不是就地更改现有参数。默认为
False
。更多信息请参阅
set_overwrite_module_params_on_conversion()
。- 返回类型:
- torch.__future__.set_swap_module_params_on_conversion(value)[source][source]¶
设置是否使用
swap_tensors()
代替设置.data
来就地更改nn.Module
的现有参数,以及代替param.copy_(state_dict[key])
在将状态字典加载到nn.Module
时。注意
此函数优先于
get_overwrite_module_params_on_conversion()
。启用后,以下方法将就地交换现有参数:
module.{device}()
(例如nn.Module.cuda()
)用于在设备之间移动模块。将模块转换为不同数据类型的标记(例如
nn.Module.float()
)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()
。