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