快捷方式

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]

在重命名 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 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源