torch.jit.annotate
-
torch.jit.annotate(the_type, the_value)[source] -
Этот метод является проходным, возвращающим
the_value, используемым для подсказки компилятору TorchScript о типеthe_value. Он является бесполезным (no-op) при выполнении вне TorchScript.Хотя TorchScript может выводить правильный тип для большинства выражений Python, существуют случаи, когда вывод типа может быть неверным, включая:
- Пустые контейнеры, такие как
[]и{}, которые TorchScript предполагает, что это контейнер типаTensor - Типы с опциональным значением, например,
Optional[T], но присвоенное действительное значение типаT, TorchScript предположит, что это типTвместоOptional[T]
Обратите внимание, что
annotate()не помогает в__init__методе подклассовtorch.nn.Module, потому что он выполняется в режиме eager. Для аннотации типов атрибутовtorch.nn.ModuleиспользуйтеAnnotate()вместо этого.Пример:
import torch from typing import Dict @torch.jit.script def fn(): # Telling TorchScript that this empty dictionary is a (str -> int) dictionary # instead of default dictionary type of (str -> Tensor). d = torch.jit.annotate(Dict[str, int], {}) # Without `torch.jit.annotate` above, following statement would fail because of # type mismatch. d["name"] = 20- Параметры:
-
-
the_type – Тип Python, который должен передаваться компилятору TorchScript в качестве подсказки типа для
the_value - the_value – Значение или выражение для подсказки типа.
-
the_type – Тип Python, который должен передаваться компилятору TorchScript в качестве подсказки типа для
- Возвращаемое значение:
-
the_valueвозвращается как результат.
- Пустые контейнеры, такие как
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.jit.annotate.html