blob: d5394c723e5327edc6336f30c2d05257d72f2586 [file] [log] [blame]
from .module import Module
from typing import Any, Optional, List, Tuple, Union
from ... import Tensor
from ..common_types import _size_1_t, _size_2_t, _size_3_t
class _ConvNd(Module):
in_channels: int = ...
out_channels: int = ...
kernel_size: Tuple[int, ...] = ...
stride: Tuple[int, ...] = ...
padding: Tuple[int, ...] = ...
dilation: Tuple[int, ...] = ...
transposed: bool = ...
output_padding: Tuple[int, ...] = ...
groups: int = ...
padding_mode: str = ...
weight: Tensor = ...
bias: Tensor = ...
# padding_mode can only one of an enumerated set of strings. Python typing will eventually support precisely typing
# this with the `Literal` type.
def __init__(self, in_channels: Any, out_channels: Any, kernel_size: Any, stride: Any, padding: Any, dilation: Any,
transposed: Any, output_padding: Any, groups: Any, bias: Any, padding_mode: Any) -> None: ...
def reset_parameters(self) -> None: ...
class Conv1d(_ConvNd):
def __init__(self, in_channels: int, out_channels: int, kernel_size: _size_1_t, stride: _size_1_t = ...,
padding: _size_1_t = ..., dilation: _size_1_t = ..., groups: int = ..., bias: bool = ...,
padding_mode: str = ...) -> None: ...
def forward(self, input: Tensor) -> Tensor: ...
class Conv2d(_ConvNd):
def __init__(self, in_channels: int, out_channels: int, kernel_size: _size_2_t, stride: _size_2_t = ...,
padding: _size_2_t = ..., dilation: _size_2_t = ..., groups: int = ..., bias: bool = ...,
padding_mode: str = ...) -> None: ...
def forward(self, input: Tensor) -> Tensor: ...
class Conv3d(_ConvNd):
def __init__(self, in_channels: int, out_channels: int, kernel_size: _size_3_t, stride: _size_3_t = ...,
padding: _size_3_t = ..., dilation: _size_3_t = ..., groups: int = ..., bias: bool = ...,
padding_mode: str = ...) -> None: ...
def forward(self, input: Tensor) -> Tensor: ...
class _ConvTransposeMixin:
def forward(self, input: Tensor, output_size: Optional[List[int]] = ...): ...
# We need a '# type: ignore' at the end of the declaration of each class that inherits from
# `_ConvTransposeMixin` since the `forward` method declared in `_ConvTransposeMixin` is
# incompatible with the `forward` method declared in `Module`.
class ConvTranspose1d(_ConvTransposeMixin, _ConvNd): # type: ignore
def __init__(self, in_channels: int, out_channels: int, kernel_size: _size_1_t, stride: _size_1_t = ...,
padding: _size_1_t = ..., output_padding: _size_1_t = ..., groups: int = ..., bias: bool = ...,
dilation: int = ..., padding_mode: str = ...) -> None: ...
def forward(self, input: Tensor, output_size: Optional[List[int]] = ...) -> Tensor: ...
class ConvTranspose2d(_ConvTransposeMixin, _ConvNd): # type: ignore
def __init__(self, in_channels: int, out_channels: int, kernel_size: _size_2_t, stride: _size_2_t = ...,
padding: _size_2_t = ..., output_padding: _size_2_t = ..., groups: int = ..., bias: bool = ...,
dilation: int = ..., padding_mode: str = ...) -> None: ...
def forward(self, input: Tensor, output_size: Optional[List[int]] = ...) -> Tensor: ...
class ConvTranspose3d(_ConvTransposeMixin, _ConvNd): # type: ignore
def __init__(self, in_channels: int, out_channels: int, kernel_size: _size_3_t, stride: _size_3_t = ...,
padding: _size_3_t = ..., output_padding: _size_3_t = ..., groups: int = ..., bias: bool = ...,
dilation: int = ..., padding_mode: str = ...) -> None: ...
def forward(self, input: Tensor, output_size: Optional[List[int]] = ...) -> Tensor: ...