快捷方式

torch.utils.generate_methods_for_privateuse1_backend

torch.utils.generate_methods_for_privateuse1_backend(for_tensor=True, for_module=True, for_packed_sequence=True, for_storage=False, unsupported_dtype=None)[source][source]

在重新命名 privateuse1 後端後,自動為自定義後端生成屬性和方法。

在預設情況下,不會自動生成儲存相關的方法。

當您為各種 torch 操作實現核心並將它們註冊到 PrivateUse1 分發鍵時,並呼叫 torch.rename_privateuse1_backend(“foo”) 函式來重新命名您的後端名稱。此時,您可以透過呼叫此函式輕鬆註冊特定的方法和屬性。例如 torch.Tensor.foo()、torch.Tensor.is_foo、torch.Storage.foo()、torch.Storage.is_foo。

注意:我們建議您使用泛型函式(檢查裝置是否相等或使用 to(device=))。我們提供這些方法僅為方便起見,它們將透過“猴子補丁”方式新增到物件上,因此不會具有適當的型別。對於儲存方法生成,如果您需要支援稀疏資料儲存,則需要自己擴充套件實現。

引數
  • for_tensor (bool) – 是否為 torch.Tensor 類註冊相關方法。

  • for_module (bool) – 是否為 torch.nn.Module 類註冊相關方法。

  • for_storage (bool) – 是否為 torch.Storage 類註冊相關方法。

  • unsupported_dtype (List[torch.dtype]) – 僅在需要生成儲存方法時生效,表示儲存不支援指定的 torch.dtype 型別。

示例

>>> torch.utils.rename_privateuse1_backend("foo")
>>> torch.utils.generate_methods_for_privateuse1_backend()
# Then automatically generate backend-related attributes and methods.
>>> a = torch.tensor(2).foo()
>>> a.is_foo
>>> hasattr(torch.nn.Module, 'foo')

文件

獲取 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源