評價此頁

torch.__future__#

創建於:2024年2月5日 | 最後更新於:2025年6月12日

torch.__future__.set_overwrite_module_params_on_conversion(value)[source]#

設定在轉換 nn.Module 時,是分配新的張量給引數,還是就地更改現有引數。

啟用後,以下方法將為模組分配新引數:

  1. module.{device}() (例如 nn.Module.cuda()) 用於在裝置之間移動模組

  2. module.{dtype}() (例如 nn.Module.float()) 用於將模組轉換為不同的資料型別

  3. nn.Module.to()

  4. nn.Module.to_empty()

引數

value (bool) – 是否分配新張量。

torch.__future__.get_overwrite_module_params_on_conversion()[source]#

返回在轉換 torch.nn.Module 時,是分配新的張量給引數,還是就地更改現有引數。預設為 False

有關更多資訊,請參閱 set_overwrite_module_params_on_conversion()

返回型別

布林值

torch.__future__.set_swap_module_params_on_conversion(value)[source]#

設定在轉換 nn.Module 時,是使用 swap_tensors() 就地更改現有引數(而不是設定 .data),以及在將 state dict 載入到 nn.Module 時(而不是使用 param.copy_(state_dict[key]))的行為。

注意

此函式優先於 get_overwrite_module_params_on_conversion()

啟用後,以下方法將就地交換現有引數:

  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 進行交換。

引數

value (bool) – 是否使用 swap_tensors()

torch.__future__.get_swap_module_params_on_conversion()[source]#

返回在轉換 nn.Module 時,是使用 swap_tensors() 就地更改現有引數(而不是設定 .data)。預設為 False

有關更多資訊,請參閱 set_swap_module_params_on_conversion()

返回型別

布林值