Атрибут
-
class torch.jit.Attribute(value, type)[source] -
Этот метод — функция-прослойка, которая возвращает
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): super(AttributeModule, self).__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.Annotate.import torch from typing import Dict class AttributeModule(torch.nn.Module): names: Dict[str, int] def __init__(self): super(AttributeModule, self).__init__() self.names = {} m = AttributeModule()- Параметры:
-
- value – Начальное значение, которое будет присвоено атрибуту.
- type – Тип Python
- Возвращаемое значение:
-
Возвращает
value
-
count(value, /) -
Возвращает количество вхождений значения.
-
index(value, start=0, stop=9223372036854775807, /) -
Возвращает первый индекс значения.
Вызывает ValueError, если значение отсутствует.
-
property type -
Псевдоним для поля номер 1
-
property value -
Псевдоним для поля номер 0
- Пустые контейнеры, такие как
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.jit.Attribute.html