container.pyi 3.92 KB
Newer Older
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.

from .module import Module
from typing import Any, Optional, Union, overload, TypeVar, Iterable, Tuple, Mapping, Iterator
from collections import OrderedDict
from ... import Tensor
from .. import Parameter


class Container(Module):
    def __init__(self, **kwargs: Any) -> None: ...


T = TypeVar('T')


class Sequential(Module):
    @overload
    def __init__(self, *args: Module) -> None: ...

    @overload
    def __init__(self, arg: OrderedDict[str, Module]) -> None: ...

    @overload
    def __getitem__(self, idx: int) -> Module: ...

    @overload
    def __getitem__(self: T, idx: slice) -> T: ...

    def __setitem__(self, idx: Union[int], module: Module) -> None: ...

    def __delitem__(self, idx: Union[slice, int]) -> None: ...

    def __len__(self) -> int: ...

#MODIFIED BY TORCHGPIPE
    TensorOrTensors = Union[Tensor, Tuple[Tensor, ...]]
    def forward(self, input: TensorOrTensors) -> TensorOrTensors: ...  # type: ignore
    def __call__(self, input: TensorOrTensors) -> TensorOrTensors: ...  # type: ignore

    from typing import Iterator
    def __iter__(self) -> Iterator[Module]: ...
#END


class ModuleList(Module):
    def __init__(self, modules: Optional[Iterable[Module]] = ...) -> None: ...

    @overload
    def __getitem__(self, idx: int) -> Module: ...

    @overload
    def __getitem__(self: T, idx: slice) -> T: ...

    def __setitem__(self, idx: int, module: Module) -> None: ...

    def __delitem__(self, idx: Union[int, slice]) -> None: ...

    def __len__(self) -> int: ...

    def __iter__(self) -> Iterator[Module]: ...

    def __iadd__(self: T, modules: Iterable[Module]) -> T: ...

    def insert(self, index: int, module: Module) -> None: ...

    def append(self: T, module: Module) -> T: ...

    def extend(self: T, modules: Iterable[Module]) -> T: ...


class ModuleDict(Module):
    def __init__(self, modules: Optional[Mapping[str, Module]] = ...) -> None: ...

    def __getitem__(self, key: str): ...

    def __setitem__(self, key: str, module: Module) -> None: ...

    def __delitem__(self, key: str) -> None: ...

    def __len__(self) -> int: ...

    def __iter__(self) -> Iterator[str]: ...

    def __contains__(self, key: str) -> bool: ...

    def clear(self) -> None: ...

    def pop(self, key: str): ...

    def keys(self) -> Iterable[str]: ...

    def items(self) -> Iterable[Tuple[str, Module]]: ...

    def values(self) -> Iterable[Module]: ...

    def update(self, modules: Mapping[str, Module]) -> None: ...


class ParameterList(Module):
    def __init__(self, parameters: Optional[Iterable[Parameter]] = ...) -> None: ...

    @overload
    def __getitem__(self, idx: int) -> Parameter: ...

    @overload
    def __getitem__(self: T, idx: slice) -> T: ...

    def __setitem__(self, idx: int, param: Parameter) -> None: ...

    def __delitem__(self, idx: Union[int, slice]) -> None: ...

    def __len__(self) -> int: ...

    def __iter__(self) -> Iterator[Parameter]: ...

    def __iadd__(self: T, parameters: Iterable[Parameter]) -> T: ...

    def insert(self, index: int, parameter: Parameter) -> None: ...

    def append(self: T, parameter: Parameter) -> T: ...

    def extend(self: T, parameters: Iterable[Parameter]) -> T: ...


class ParameterDict(Module):
    def __init__(self, parameters: Optional[Mapping[str, Parameter]] = ...) -> None: ...

    def __getitem__(self, key: str): ...

    def __setitem__(self, key: str, param: Parameter) -> None: ...

    def __delitem__(self, key: str) -> None: ...

    def __len__(self) -> int: ...

    def __iter__(self) -> Iterator[str]: ...

    def __contains__(self, key: str) -> bool: ...

    def clear(self) -> None: ...

    def pop(self, key: str): ...

    def keys(self) -> Iterable[str]: ...

    def items(self) -> Iterable[Tuple[str, Parameter]]: ...

    def values(self) -> Iterable[Parameter]: ...

    def update(self, parameters: Mapping[str, Parameter]) -> None: ...