快捷方式

属性

class torch.jit.Attribute(value, type)[源代码]

此方法是一个直通(pass-through)函数,返回 value,主要用于向 TorchScript 编译器指示左侧表达式是具有 type 类型类实例属性。请注意,torch.jit.Attribute 仅应用于 jit.ScriptModule 子类的 __init__ 方法中。

虽然 TorchScript 可以推断大多数 Python 表达式的正确类型,但在某些情况下类型推断可能出错,包括:

  • 空容器,如 []{},TorchScript 假定它们是 Tensor 的容器

  • 可选类型,如 Optional[T],但赋值了一个类型为 T 的有效值,TorchScript 会假定它是 T 类型而不是 Optional[T]

在 eager 模式下,它只是一个直通函数,返回 value,没有其他含义。

示例

import torch
from typing import Dict

class AttributeModule(torch.jit.ScriptModule):
    def __init__(self) -> None:
        super().__init__()
        self.foo = torch.jit.Attribute(0.1, float)

        # we should be able to use self.foo as a float here
        assert 0.0 < self.foo

        self.names_ages = torch.jit.Attribute({}, Dict[str, int])
        self.names_ages["someone"] = 20
        assert isinstance(self.names_ages["someone"], int)

m = AttributeModule()
# m will contain two attributes
# 1. foo of type float
# 2. names_ages of type Dict[str, int]

注意:现在更推荐使用类型注解代替 torch.jit.Attribute

import torch
from typing import Dict

class AttributeModule(torch.nn.Module):
    names: Dict[str, int]

    def __init__(self) -> None:
        super().__init__()
        self.names = {}

m = AttributeModule()
参数
  • value – 要赋给属性的初始值。

  • type – 一个 Python 类型

返回值

返回 value

count(value, /)

返回 value 出现的次数。

index(value, start=0, stop=9223372036854775807, /)

返回 value 的第一个索引。

如果 value 不存在,则引发 ValueError 错误。

type

字段编号 1 的别名

value

字段编号 0 的别名

文档

查阅全面的 PyTorch 开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

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

查看资源