Spec-Zone.ru › PyTorch 2

Атрибут

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API