You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

303 lines
9.3 KiB

# mypy: disable-error-code="type-arg"
from typing import (
Any,
Callable,
Dict,
List,
NamedTuple,
Optional,
overload,
Tuple,
Type,
TypeVar,
Union,
)
from _typeshed import Incomplete
from typing_extensions import Never, TypeAlias
import torch
from torch._classes import classes as classes
from torch._jit_internal import _qualified_name as _qualified_name
from torch.jit._builtins import _register_builtin as _register_builtin
from torch.jit._fuser import (
_graph_for as _graph_for,
_script_method_graph_for as _script_method_graph_for,
)
from torch.jit._monkeytype_config import (
JitTypeTraceConfig as JitTypeTraceConfig,
JitTypeTraceStore as JitTypeTraceStore,
monkeytype_trace as monkeytype_trace,
)
from torch.jit._recursive import (
_compile_and_register_class as _compile_and_register_class,
infer_methods_to_compile as infer_methods_to_compile,
ScriptMethodStub as ScriptMethodStub,
wrap_cpp_module as wrap_cpp_module,
)
from torch.jit._state import (
_enabled as _enabled,
_set_jit_function_cache as _set_jit_function_cache,
_set_jit_overload_cache as _set_jit_overload_cache,
_try_get_jit_cached_function as _try_get_jit_cached_function,
_try_get_jit_cached_overloads as _try_get_jit_cached_overloads,
)
from torch.jit.frontend import (
get_default_args as get_default_args,
get_jit_class_def as get_jit_class_def,
get_jit_def as get_jit_def,
)
from torch.nn import Module as Module
from torch.overrides import (
has_torch_function as has_torch_function,
has_torch_function_unary as has_torch_function_unary,
has_torch_function_variadic as has_torch_function_variadic,
)
from torch.package import (
PackageExporter as PackageExporter,
PackageImporter as PackageImporter,
)
from torch.utils import set_module as set_module
from ._serialization import validate_map_location as validate_map_location
ScriptFunction = torch._C.ScriptFunction
type_trace_db: JitTypeTraceStore
# Defined in torch/csrc/jit/python/script_init.cpp
ResolutionCallback: TypeAlias = Callable[[str], Callable[..., Any]]
_ClassVar = TypeVar("_ClassVar", bound=type)
def _reduce(cls) -> None: ...
class Attribute(NamedTuple):
value: Incomplete
type: Incomplete
def _get_type_trace_db(): ...
def _get_function_from_type(cls, name): ...
def _is_new_style_class(cls): ...
class OrderedDictWrapper:
_c: Incomplete
def __init__(self, _c) -> None: ...
def keys(self): ...
def values(self): ...
def __len__(self) -> int: ...
def __delitem__(self, k) -> None: ...
def items(self): ...
def __setitem__(self, k, v) -> None: ...
def __contains__(self, k) -> bool: ...
def __getitem__(self, k): ...
class OrderedModuleDict(OrderedDictWrapper):
_python_modules: Incomplete
def __init__(self, module, python_dict) -> None: ...
def items(self): ...
def __contains__(self, k) -> bool: ...
def __setitem__(self, k, v) -> None: ...
def __getitem__(self, k): ...
class ScriptMeta(type):
def __init__(cls, name, bases, attrs) -> None: ...
class _CachedForward:
def __get__(self, obj, cls): ...
class ScriptWarning(Warning): ...
def script_method(fn): ...
class ConstMap:
const_mapping: Incomplete
def __init__(self, const_mapping) -> None: ...
def __getattr__(self, attr): ...
def unpackage_script_module(
importer: PackageImporter, script_module_id: str
) -> torch.nn.Module: ...
_magic_methods: Incomplete
class RecursiveScriptClass:
_c: Incomplete
_props: Incomplete
def __init__(self, cpp_class) -> None: ...
def __getattr__(self, attr): ...
def __setattr__(self, attr, value): ...
def forward_magic_method(self, method_name, *args, **kwargs): ...
def __getstate__(self) -> None: ...
def __iadd__(self, other): ...
def method_template(self, *args, **kwargs): ...
class ScriptModule(Module, metaclass=ScriptMeta):
__jit_unused_properties__: Incomplete
def __init__(self) -> None: ...
forward: Callable[..., Any]
def __getattr__(self, attr): ...
def __setattr__(self, attr, value): ...
def define(self, src): ...
def _replicate_for_data_parallel(self): ...
def __reduce_package__(self, exporter: PackageExporter): ...
# add __jit_unused_properties__
@property
def code(self) -> str: ...
@property
def code_with_constants(self) -> Tuple[str, ConstMap]: ...
@property
def graph(self) -> torch.Graph: ...
@property
def inlined_graph(self) -> torch.Graph: ...
@property
def original_name(self) -> str: ...
class RecursiveScriptModule(ScriptModule):
_disable_script_meta: bool
_c: Incomplete
def __init__(self, cpp_module) -> None: ...
@staticmethod
def _construct(cpp_module, init_fn): ...
@staticmethod
def _finalize_scriptmodule(script_module) -> None: ...
_concrete_type: Incomplete
_modules: Incomplete
_parameters: Incomplete
_buffers: Incomplete
__dict__: Incomplete
def _reconstruct(self, cpp_module) -> None: ...
def save(self, f, **kwargs): ...
def _save_for_lite_interpreter(self, *args, **kwargs): ...
def _save_to_buffer_for_lite_interpreter(self, *args, **kwargs): ...
def save_to_buffer(self, *args, **kwargs): ...
def get_debug_state(self, *args, **kwargs): ...
def extra_repr(self): ...
def graph_for(self, *args, **kwargs): ...
def define(self, src) -> None: ...
def __getattr__(self, attr): ...
def __setattr__(self, attr, value): ...
def __copy__(self): ...
def __deepcopy__(self, memo): ...
def forward_magic_method(self, method_name, *args, **kwargs): ...
def __iter__(self): ...
def __getitem__(self, idx): ...
def __len__(self) -> int: ...
def __contains__(self, key) -> bool: ...
def __dir__(self): ...
def __bool__(self) -> bool: ...
def _replicate_for_data_parallel(self): ...
def _get_methods(cls): ...
_compiled_methods_allowlist: Incomplete
def _make_fail(name): ...
def call_prepare_scriptable_func_impl(obj, memo): ...
def call_prepare_scriptable_func(obj): ...
def create_script_dict(obj): ...
def create_script_list(obj, type_hint: Incomplete | None = ...): ...
@overload
def script(
obj: Type[Module],
optimize: Optional[bool] = None,
_frames_up: int = 0,
_rcb: Optional[ResolutionCallback] = None,
example_inputs: Union[List[Tuple], Dict[Callable, List[Tuple]], None] = None,
) -> Never: ...
@overload
def script( # type: ignore[misc]
obj: Dict,
optimize: Optional[bool] = None,
_frames_up: int = 0,
_rcb: Optional[ResolutionCallback] = None,
example_inputs: Union[List[Tuple], Dict[Callable, List[Tuple]], None] = None,
) -> torch.ScriptDict: ...
@overload
def script( # type: ignore[misc]
obj: List,
optimize: Optional[bool] = None,
_frames_up: int = 0,
_rcb: Optional[ResolutionCallback] = None,
example_inputs: Union[List[Tuple], Dict[Callable, List[Tuple]], None] = None,
) -> torch.ScriptList: ...
@overload
def script( # type: ignore[misc]
obj: Module,
optimize: Optional[bool] = None,
_frames_up: int = 0,
_rcb: Optional[ResolutionCallback] = None,
example_inputs: Union[List[Tuple], Dict[Callable, List[Tuple]], None] = None,
) -> RecursiveScriptModule: ...
@overload
def script( # type: ignore[misc]
obj: _ClassVar,
optimize: Optional[bool] = None,
_frames_up: int = 0,
_rcb: Optional[ResolutionCallback] = None,
example_inputs: Union[List[Tuple], Dict[Callable, List[Tuple]], None] = None,
) -> _ClassVar: ...
@overload
def script( # type: ignore[misc]
obj: Callable,
optimize: Optional[bool] = None,
_frames_up: int = 0,
_rcb: Optional[ResolutionCallback] = None,
example_inputs: Union[List[Tuple], Dict[Callable, List[Tuple]], None] = None,
) -> ScriptFunction: ...
@overload
def script(
obj: Any,
optimize: Optional[bool] = None,
_frames_up: int = 0,
_rcb: Optional[ResolutionCallback] = None,
example_inputs: Union[List[Tuple], Dict[Callable, List[Tuple]], None] = None,
) -> RecursiveScriptClass: ...
@overload
def script(
obj,
optimize: Incomplete | None = ...,
_frames_up: int = ...,
_rcb: Incomplete | None = ...,
example_inputs: Union[List[Tuple], Dict[Callable, List[Tuple]], None] = ...,
): ...
def _check_overload_defaults(impl_defaults, overload_defaults, loc) -> None: ...
def _compile_function_with_overload(overload_fn, qual_name, impl_fn): ...
def _get_overloads(obj): ...
def _check_directly_compile_overloaded(obj) -> None: ...
def interface(obj): ...
def _recursive_compile_class(obj, loc): ...
CompilationUnit: Incomplete
def pad(s: str, padding: int, offset: int = ..., char: str = ...): ...
class _ScriptProfileColumn:
header: Incomplete
alignment: Incomplete
offset: Incomplete
rows: Incomplete
def __init__(
self, header: str, alignment: int = ..., offset: int = ...
) -> None: ...
def add_row(self, lineno: int, value: Any): ...
def materialize(self): ...
class _ScriptProfileTable:
cols: Incomplete
source_range: Incomplete
def __init__(
self, cols: List[_ScriptProfileColumn], source_range: List[int]
) -> None: ...
def dump_string(self): ...
class _ScriptProfile:
profile: Incomplete
def __init__(self) -> None: ...
def enable(self) -> None: ...
def disable(self) -> None: ...
def dump_string(self) -> str: ...
def dump(self) -> None: ...
def _unwrap_optional(x): ...