| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688 |
- from typing import (
- Any,
- Callable,
- Dict,
- List,
- Literal,
- Optional,
- overload,
- Sequence,
- Tuple,
- Union,
- )
- from torch import Tensor
- from torch.types import _dtype, _int, _size
- from .common_types import (
- _ratio_any_t,
- _size_1_t,
- _size_2_opt_t,
- _size_2_t,
- _size_3_opt_t,
- _size_3_t,
- _size_any_t,
- )
- # 'TypedDict' is a new accepted type that represents a dictionary with a fixed set of allowed keys.
- # It is standards-track but not in `typing` yet. We leave this hear to be uncommented once the feature
- # is wide-spread.
- # from mypy_extensions import TypedDict
- # GRID_SAMPLE_INTERPOLATION_MODES = TypedDict('GRID_SAMPLE_INTERPOLATION_MODES', {'bilinear': int, 'nearest': int})
- # GRID_SAMPLE_PADDING_MODES = TypedDict('GRID_SAMPLE_PADDING_MODES', {'zeros': int, 'border': int, 'reflection': int})
- GRID_SAMPLE_INTERPOLATION_MODES = Dict[str, int]
- GRID_SAMPLE_PADDING_MODES = Dict[str, int]
- # These stubs were generated by running stubgen (`stubgen --parse-only functional.py`), followed by manual cleaning.
- #
- # The 'BroadcastingList{1,2,3}' types were replaced by `_size` or _output_ratio, as appropriate.
- # This was necessary since the JIT uses BroadcastingList* types but static checking with mypy etc requires a `Sequence`
- # type. There is no way to express the expected lengths of these lists in the current Python typing system.
- #
- # Functions created via `_add_docstr` in `functional.py` where merely typed as `Any` by `stubgen`, so those were
- # deleted from the stub and replaced by generated declarations. See `gen_pyi` for the implementation of the code
- # generation logic for those functions. In the future, it might be worth looking into using the mypy plugin system
- # to encode the type semantics of `_add_docstr`, should that system ever become widespread.
- def fractional_max_pool2d_with_indices(
- input: Tensor,
- kernel_size: _size,
- output_size: Optional[_size] = ...,
- output_ratio: Optional[_ratio_any_t] = ...,
- return_indices: bool = ...,
- _random_samples: Optional[Tensor] = ...,
- ) -> Tuple[Tensor, Tensor]: ...
- def fractional_max_pool3d_with_indices(
- input: Tensor,
- kernel_size: _size,
- output_size: Optional[_size] = ...,
- output_ratio: Optional[_ratio_any_t] = ...,
- return_indices: bool = ...,
- _random_samples: Optional[Tensor] = ...,
- ) -> Tuple[Tensor, Tensor]: ...
- def max_pool1d_with_indices(
- input: Tensor,
- kernel_size: _size,
- stride: Optional[_size] = ...,
- padding: _size = ...,
- dilation: _size = ...,
- ceil_mode: bool = ...,
- return_indices: bool = ...,
- ) -> Tuple[Tensor, Tensor]: ...
- def max_pool2d_with_indices(
- input: Tensor,
- kernel_size: _size,
- stride: Optional[_size] = ...,
- padding: _size = ...,
- dilation: _size = ...,
- ceil_mode: bool = ...,
- return_indices: bool = ...,
- ) -> Tuple[Tensor, Tensor]: ...
- def max_pool3d_with_indices(
- input: Tensor,
- kernel_size: _size,
- stride: Optional[_size] = ...,
- padding: _size = ...,
- dilation: _size = ...,
- ceil_mode: bool = ...,
- return_indices: bool = ...,
- ) -> Tuple[Tensor, Tensor]: ...
- def max_unpool1d(
- input: Tensor,
- indices: Tensor,
- kernel_size: _size,
- stride: Optional[_size] = ...,
- padding: _size = ...,
- output_size: Optional[_size] = ...,
- ) -> Tensor: ...
- def max_unpool2d(
- input: Tensor,
- indices: Tensor,
- kernel_size: _size,
- stride: Optional[_size] = ...,
- padding: _size = ...,
- output_size: Optional[_size] = ...,
- ) -> Tensor: ...
- def max_unpool3d(
- input: Tensor,
- indices: Tensor,
- kernel_size: _size,
- stride: Optional[_size] = ...,
- padding: _size = ...,
- output_size: Optional[_size] = ...,
- ) -> Tensor: ...
- def lp_pool1d(
- input: Tensor,
- norm_type: float,
- kernel_size: _size_1_t,
- stride: Union[Optional[_size], Optional[int]] = ...,
- ceil_mode: bool = ...,
- ) -> Tensor: ...
- def lp_pool2d(
- input: Tensor,
- norm_type: float,
- kernel_size: _size_2_t,
- stride: Union[Optional[_size], Optional[int]] = ...,
- ceil_mode: bool = ...,
- ) -> Tensor: ...
- def lp_pool3d(
- input: Tensor,
- norm_type: float,
- kernel_size: _size_3_t,
- stride: Union[Optional[_size], Optional[int]] = ...,
- ceil_mode: bool = ...,
- ) -> Tensor: ...
- def adaptive_max_pool1d_with_indices(
- input: Tensor,
- output_size: _size,
- return_indices: bool = ...,
- ) -> Tuple[Tensor, Tensor]: ...
- def adaptive_max_pool2d_with_indices(
- input: Tensor,
- output_size: _size_2_opt_t,
- return_indices: bool = ...,
- ) -> Tuple[Tensor, Tensor]: ...
- def adaptive_max_pool3d_with_indices(
- input: Tensor,
- output_size: _size_3_opt_t,
- return_indices: bool = ...,
- ) -> Tuple[Tensor, Tensor]: ...
- def adaptive_avg_pool2d(input: Tensor, output_size: _size_2_opt_t) -> Tensor: ...
- def adaptive_avg_pool3d(input: Tensor, output_size: _size_3_opt_t) -> Tensor: ...
- def dropout(
- input: Tensor,
- p: float = ...,
- training: bool = ...,
- inplace: bool = ...,
- ) -> Tensor: ...
- def alpha_dropout(
- input: Tensor,
- p: float = ...,
- training: bool = ...,
- inplace: bool = ...,
- ) -> Tensor: ...
- def dropout1d(
- input: Tensor,
- p: float = ...,
- training: bool = ...,
- inplace: bool = ...,
- ) -> Tensor: ...
- def dropout2d(
- input: Tensor,
- p: float = ...,
- training: bool = ...,
- inplace: bool = ...,
- ) -> Tensor: ...
- def dropout3d(
- input: Tensor,
- p: float = ...,
- training: bool = ...,
- inplace: bool = ...,
- ) -> Tensor: ...
- def feature_alpha_dropout(
- input: Tensor,
- p: float = ...,
- training: bool = ...,
- inplace: bool = ...,
- ) -> Tensor: ...
- def threshold(
- input: Tensor,
- threshold: float,
- value: float,
- inplace: bool = ...,
- ) -> Tensor: ...
- def relu(input: Tensor, inplace: bool = ...) -> Tensor: ...
- def glu(input: Tensor, dim: int = ...) -> Tensor: ...
- def hardtanh(
- input: Tensor,
- min_val: float = ...,
- max_val: float = ...,
- inplace: bool = ...,
- ) -> Tensor: ...
- def relu6(input: Tensor, inplace: bool = ...) -> Tensor: ...
- def elu(input: Tensor, alpha: float = ..., inplace: bool = ...) -> Tensor: ...
- def selu(input: Tensor, inplace: bool = ...) -> Tensor: ...
- def celu(input: Tensor, alpha: float = ..., inplace: bool = ...) -> Tensor: ...
- def leaky_relu(
- input: Tensor,
- negative_slope: float = ...,
- inplace: bool = ...,
- ) -> Tensor: ...
- def rrelu(
- input: Tensor,
- lower: float = ...,
- upper: float = ...,
- training: bool = ...,
- inplace: bool = ...,
- ) -> Tensor: ...
- def tanhshrink(input: Any): ...
- def softsign(input: Any): ...
- def softmin(
- input: Tensor,
- dim: Optional[int] = ...,
- _stacklevel: int = ...,
- dtype: Optional[_dtype] = ...,
- ) -> Tensor: ...
- def softmax(
- input: Tensor,
- dim: Optional[int] = ...,
- _stacklevel: int = ...,
- dtype: Optional[_dtype] = ...,
- ) -> Tensor: ...
- def gumbel_softmax(
- logits: Tensor,
- tau: float = ...,
- hard: bool = ...,
- eps: float = ...,
- dim: int = ...,
- ) -> Tensor: ...
- def log_softmax(
- input: Tensor,
- dim: Optional[int] = ...,
- _stacklevel: int = ...,
- dtype: Optional[_dtype] = ...,
- ) -> Tensor: ...
- def tanh(input: Any): ...
- def sigmoid(input: Any) -> Tensor: ...
- def hardsigmoid(input: Tensor, inplace: bool = False) -> Tensor: ...
- def silu(input: Tensor, inplace: bool = False) -> Tensor: ...
- def mish(input: Tensor, inplace: bool = False) -> Tensor: ...
- def hardswish(input: Tensor, inplace: bool = False) -> Tensor: ...
- def embedding(
- input: Tensor,
- weight: Tensor,
- padding_idx: Optional[int] = ...,
- max_norm: Optional[float] = ...,
- norm_type: float = ...,
- scale_grad_by_freq: bool = ...,
- sparse: bool = ...,
- ) -> Tensor: ...
- def embedding_bag(
- input: Tensor,
- weight: Tensor,
- offsets: Optional[Tensor] = ...,
- max_norm: Optional[float] = ...,
- norm_type: float = ...,
- scale_grad_by_freq: bool = ...,
- mode: str = ...,
- sparse: bool = ...,
- per_sample_weights: Optional[Tensor] = ...,
- include_last_offset: bool = ...,
- padding_idx: Optional[int] = ...,
- ) -> Tensor: ...
- def batch_norm(
- input: Tensor,
- running_mean: Optional[Tensor],
- running_var: Optional[Tensor],
- weight: Optional[Tensor] = ...,
- bias: Optional[Tensor] = ...,
- training: bool = ...,
- momentum: float = ...,
- eps: float = ...,
- ) -> Tensor: ...
- def instance_norm(
- input: Tensor,
- running_mean: Optional[Tensor] = ...,
- running_var: Optional[Tensor] = ...,
- weight: Optional[Tensor] = ...,
- bias: Optional[Tensor] = ...,
- use_input_stats: bool = ...,
- momentum: float = ...,
- eps: float = ...,
- ) -> Tensor: ...
- def layer_norm(
- input: Tensor,
- normalized_shape: Sequence[int],
- weight: Optional[Tensor] = ...,
- bias: Optional[Tensor] = ...,
- eps: float = ...,
- ) -> Tensor: ...
- def rms_norm(
- input: Tensor,
- normalized_shape: Sequence[int],
- weight: Optional[Tensor] = ...,
- eps: Optional[float] = ...,
- ) -> Tensor: ...
- def group_norm(
- input: Tensor,
- num_groups: int,
- weight: Optional[Tensor] = ...,
- bias: Optional[Tensor] = ...,
- eps: float = ...,
- ) -> Tensor: ...
- def local_response_norm(
- input: Tensor,
- size: int,
- alpha: float = ...,
- beta: float = ...,
- k: float = ...,
- ) -> Tensor: ...
- def ctc_loss(
- log_probs: Tensor,
- targets: Tensor,
- input_lengths: Tensor,
- target_lengths: Tensor,
- blank: int = ...,
- reduction: str = ...,
- zero_infinity: bool = ...,
- ) -> Tensor: ...
- def nll_loss(
- input: Tensor,
- target: Tensor,
- weight: Optional[Tensor] = ...,
- size_average: Optional[bool] = ...,
- ignore_index: int = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def poisson_nll_loss(
- input: Tensor,
- target: Tensor,
- log_input: bool = ...,
- full: bool = ...,
- size_average: Optional[bool] = ...,
- eps: float = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def gaussian_nll_loss(
- input: Tensor,
- target: Tensor,
- var: Tensor,
- full: Optional[bool] = ...,
- eps: Optional[float] = ...,
- reduction: Optional[str] = ...,
- ) -> Tensor: ...
- def kl_div(
- input: Tensor,
- target: Tensor,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- log_target: bool = ...,
- ) -> Tensor: ...
- def cross_entropy(
- input: Tensor,
- target: Tensor,
- weight: Optional[Tensor] = ...,
- size_average: Optional[bool] = ...,
- ignore_index: int = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- label_smoothing: float = ...,
- ) -> Tensor: ...
- def binary_cross_entropy(
- input: Tensor,
- target: Tensor,
- weight: Optional[Tensor] = ...,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def binary_cross_entropy_with_logits(
- input: Tensor,
- target: Tensor,
- weight: Optional[Tensor] = ...,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- pos_weight: Optional[Tensor] = ...,
- ) -> Tensor: ...
- def smooth_l1_loss(
- input: Tensor,
- target: Tensor,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- beta: float = ...,
- ) -> Tensor: ...
- def huber_loss(
- input: Tensor,
- target: Tensor,
- reduction: str = ...,
- delta: float = ...,
- ) -> Tensor: ...
- def l1_loss(
- input: Tensor,
- target: Tensor,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def mse_loss(
- input: Tensor,
- target: Tensor,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def margin_ranking_loss(
- input1: Tensor,
- input2: Tensor,
- target: Tensor,
- margin: float = ...,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def hinge_embedding_loss(
- input: Tensor,
- target: Tensor,
- margin: float = ...,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def multilabel_margin_loss(
- input: Tensor,
- target: Tensor,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def soft_margin_loss(
- input: Tensor,
- target: Tensor,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def multilabel_soft_margin_loss(
- input: Tensor,
- target: Tensor,
- weight: Optional[Tensor] = ...,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def cosine_embedding_loss(
- input1: Tensor,
- input2: Tensor,
- target: Tensor,
- margin: float = ...,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def multi_margin_loss(
- input: Tensor,
- target: Tensor,
- p: int = ...,
- margin: float = ...,
- weight: Optional[Tensor] = ...,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def upsample(
- input: Any,
- size: Optional[Any] = ...,
- scale_factor: Optional[Any] = ...,
- mode: str = ...,
- align_corners: Optional[Any] = ...,
- ): ...
- def interpolate(
- input: Any,
- size: Optional[Any] = ...,
- scale_factor: Optional[Any] = ...,
- mode: str = ...,
- align_corners: Optional[Any] = ...,
- recompute_scale_factor: Optional[Any] = ...,
- antialias: bool = ...,
- ): ...
- def upsample_nearest(
- input: Any,
- size: Optional[Any] = ...,
- scale_factor: Optional[Any] = ...,
- ): ...
- def upsample_bilinear(
- input: Any,
- size: Optional[Any] = ...,
- scale_factor: Optional[Any] = ...,
- ): ...
- def grid_sample(
- input: Tensor,
- grid: Tensor,
- mode: str = ...,
- padding_mode: str = ...,
- align_corners: Optional[Any] = ...,
- ) -> Tensor: ...
- def affine_grid(
- theta: Tensor,
- size: List[int],
- align_corners: Optional[Any] = ...,
- ) -> Tensor: ...
- def triplet_margin_loss(
- anchor: Tensor,
- positive: Tensor,
- negative: Tensor,
- margin: float = ...,
- p: float = ...,
- eps: float = ...,
- swap: bool = ...,
- size_average: Optional[bool] = ...,
- reduce: Optional[bool] = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def triplet_margin_with_distance_loss(
- anchor: Tensor,
- positive: Tensor,
- negative: Tensor,
- *,
- distance_function: Optional[Callable[[Tensor, Tensor], Tensor]] = ...,
- margin: float = ...,
- swap: bool = ...,
- reduction: str = ...,
- ) -> Tensor: ...
- def normalize(
- input: Tensor,
- p: float = ...,
- dim: int = ...,
- eps: float = ...,
- out: Optional[Tensor] = ...,
- ) -> Tensor: ...
- def assert_int_or_pair(
- arg: Any,
- arg_name: Any,
- message: Any,
- ) -> None: ...
- def unfold(
- input: Tensor,
- kernel_size: _size_any_t,
- dilation: _size_any_t = ...,
- padding: _size_any_t = ...,
- stride: _size_any_t = ...,
- ) -> Tensor: ...
- def fold(
- input: Tensor,
- output_size: _size_any_t,
- kernel_size: _size_any_t,
- dilation: _size_any_t = ...,
- padding: _size_any_t = ...,
- stride: _size_any_t = ...,
- ) -> Tensor: ...
- def _canonical_mask(
- mask: Optional[Tensor],
- mask_name: str,
- other_type: Optional[_dtype],
- other_name: str,
- target_type: _dtype,
- check_other: bool = True,
- ) -> Optional[Tensor]: ...
- def _none_or_dtype(input: Optional[Tensor]) -> Optional[_dtype]: ...
- def multi_head_attention_forward(
- query: Tensor,
- key: Tensor,
- value: Tensor,
- embed_dim_to_check: int,
- num_heads: int,
- in_proj_weight: Optional[Tensor],
- in_proj_bias: Optional[Tensor],
- bias_k: Optional[Tensor],
- bias_v: Optional[Tensor],
- add_zero_attn: bool,
- dropout_p: float,
- out_proj_weight: Tensor,
- out_proj_bias: Optional[Tensor],
- training: bool = True,
- key_padding_mask: Optional[Tensor] = None,
- need_weights: bool = True,
- attn_mask: Optional[Tensor] = None,
- use_separate_proj_weight: bool = False,
- q_proj_weight: Optional[Tensor] = None,
- k_proj_weight: Optional[Tensor] = None,
- v_proj_weight: Optional[Tensor] = None,
- static_k: Optional[Tensor] = None,
- static_v: Optional[Tensor] = None,
- average_attn_weights: bool = True,
- is_causal: bool = False,
- ) -> Tuple[Tensor, Optional[Tensor]]: ...
- from .. import conv1d as conv1d
- from .. import conv2d as conv2d
- from .. import conv3d as conv3d
- from .. import conv_transpose1d as conv_transpose1d
- from .. import conv_transpose2d as conv_transpose2d
- from .. import conv_transpose3d as conv_transpose3d
- from .. import conv_tbc as conv_tbc
- from .. import avg_pool1d as avg_pool1d
- from .. import adaptive_avg_pool1d as adaptive_avg_pool1d
- from .. import relu_ as relu_
- from .. import selu_ as selu_
- from .. import celu_ as celu_
- from .. import prelu as prelu
- from .. import rrelu_ as rrelu_
- from .. import hardshrink as hardshrink
- from .. import bilinear as bilinear
- from .. import pixel_shuffle as pixel_shuffle
- from .. import pixel_unshuffle as pixel_unshuffle
- from .. import channel_shuffle as channel_shuffle
- from .. import native_channel_shuffle as native_channel_shuffle
- from .. import pairwise_distance as pairwise_distance
- from .. import pdist as pdist
- from .. import cosine_similarity as cosine_similarity
- from .._C._nn import avg_pool2d as avg_pool2d
- from .._C._nn import avg_pool3d as avg_pool3d
- from .._C._nn import hardtanh_ as hardtanh_
- from .._C._nn import elu_ as elu_
- from .._C._nn import leaky_relu_ as leaky_relu_
- from .._C._nn import gelu as gelu
- from .._C._nn import softplus as softplus
- from .._C._nn import softshrink as softshrink
- from .._C._nn import linear as linear
- from .._C._nn import pad as pad
- from .._C._nn import one_hot as one_hot
- from .._C._nn import scaled_dot_product_attention as scaled_dot_product_attention
- from .._C._nn import log_sigmoid
- logsigmoid = log_sigmoid
- @overload
- def adaptive_max_pool1d(input: Tensor, output_size: Union[_int, _size], return_indices: Literal[False] = False) -> Tensor: ...
- @overload
- def adaptive_max_pool1d(input: Tensor, output_size: Union[_int, _size], return_indices: Literal[True], /) -> Tuple[Tensor, Tensor]: ...
- @overload
- def adaptive_max_pool1d(input: Tensor, output_size: Union[_int, _size], *, return_indices: Literal[True]) -> Tuple[Tensor, Tensor]: ...
- @overload
- def adaptive_max_pool2d(input: Tensor, output_size: Union[_int, _size], return_indices: Literal[False] = False) -> Tensor: ...
- @overload
- def adaptive_max_pool2d(input: Tensor, output_size: Union[_int, _size], return_indices: Literal[True], /) -> Tuple[Tensor, Tensor]: ...
- @overload
- def adaptive_max_pool2d(input: Tensor, output_size: Union[_int, _size], *, return_indices: Literal[True]) -> Tuple[Tensor, Tensor]: ...
- @overload
- def adaptive_max_pool3d(input: Tensor, output_size: Union[_int, _size], return_indices: Literal[False] = False) -> Tensor: ...
- @overload
- def adaptive_max_pool3d(input: Tensor, output_size: Union[_int, _size], return_indices: Literal[True], /) -> Tuple[Tensor, Tensor]: ...
- @overload
- def adaptive_max_pool3d(input: Tensor, output_size: Union[_int, _size], *, return_indices: Literal[True]) -> Tuple[Tensor, Tensor]: ...
- @overload
- def fractional_max_pool2d(input: Tensor, kernel_size: Union[_int, _size], output_size: Optional[Union[_int, _size]] = None, output_ratio: Optional[_ratio_any_t] = None, return_indices: Literal[False] = False, _random_samples: Optional[Tensor] = None) -> Tensor: ...
- @overload
- def fractional_max_pool2d(input: Tensor, kernel_size: Union[_int, _size], output_size: Optional[Union[_int, _size]], output_ratio: Optional[_ratio_any_t], return_indices: Literal[True], /, _random_samples: Optional[Tensor] = None) -> Tuple[Tensor, Tensor]: ...
- @overload
- def fractional_max_pool2d(input: Tensor, kernel_size: Union[_int, _size], output_size: Optional[Union[_int, _size]] = None, output_ratio: Optional[_ratio_any_t] = None, *, return_indices: Literal[True], _random_samples: Optional[Tensor] = None) -> Tuple[Tensor, Tensor]: ...
- @overload
- def fractional_max_pool3d(input: Tensor, kernel_size: Union[_int, _size], output_size: Optional[Union[_int, _size]] = None, output_ratio: Optional[_ratio_any_t] = None, return_indices: Literal[False] = False, _random_samples: Optional[Tensor] = None) -> Tensor: ...
- @overload
- def fractional_max_pool3d(input: Tensor, kernel_size: Union[_int, _size], output_size: Optional[Union[_int, _size]], output_ratio: Optional[_ratio_any_t], return_indices: Literal[True], /, _random_samples: Optional[Tensor] = None) -> Tuple[Tensor, Tensor]: ...
- @overload
- def fractional_max_pool3d(input: Tensor, kernel_size: Union[_int, _size], output_size: Optional[Union[_int, _size]] = None, output_ratio: Optional[_ratio_any_t] = None, *, return_indices: Literal[True], _random_samples: Optional[Tensor] = None) -> Tuple[Tensor, Tensor]: ...
- @overload
- def max_pool1d(input: Tensor, kernel_size: Union[_int, _size], stride: Optional[Union[_int, _size]] = None, padding: Union[_int, _size] = 0, dilation: Union[_int, _size] = 1, ceil_mode: bool = False, return_indices: Literal[False] = False) -> Tensor: ...
- @overload
- def max_pool1d(input: Tensor, kernel_size: Union[_int, _size], stride: Optional[Union[_int, _size]], padding: Union[_int, _size], dilation: Union[_int, _size], ceil_mode: bool, return_indices: Literal[True], /) -> Tuple[Tensor, Tensor]: ...
- @overload
- def max_pool1d(input: Tensor, kernel_size: Union[_int, _size], stride: Optional[Union[_int, _size]] = None, padding: Union[_int, _size] = 0, dilation: Union[_int, _size] = 1, ceil_mode: bool = False, *, return_indices: Literal[True]) -> Tuple[Tensor, Tensor]: ...
- @overload
- def max_pool2d(input: Tensor, kernel_size: Union[_int, _size], stride: Optional[Union[_int, _size]] = None, padding: Union[_int, _size] = 0, dilation: Union[_int, _size] = 1, ceil_mode: bool = False, return_indices: Literal[False] = False) -> Tensor: ...
- @overload
- def max_pool2d(input: Tensor, kernel_size: Union[_int, _size], stride: Optional[Union[_int, _size]], padding: Union[_int, _size], dilation: Union[_int, _size], ceil_mode: bool, return_indices: Literal[True], /) -> Tuple[Tensor, Tensor]: ...
- @overload
- def max_pool2d(input: Tensor, kernel_size: Union[_int, _size], stride: Optional[Union[_int, _size]] = None, padding: Union[_int, _size] = 0, dilation: Union[_int, _size] = 1, ceil_mode: bool = False, *, return_indices: Literal[True]) -> Tuple[Tensor, Tensor]: ...
- @overload
- def max_pool3d(input: Tensor, kernel_size: Union[_int, _size], stride: Optional[Union[_int, _size]] = None, padding: Union[_int, _size] = 0, dilation: Union[_int, _size] = 1, ceil_mode: bool = False, return_indices: Literal[False] = False) -> Tensor: ...
- @overload
- def max_pool3d(input: Tensor, kernel_size: Union[_int, _size], stride: Optional[Union[_int, _size]], padding: Union[_int, _size], dilation: Union[_int, _size], ceil_mode: bool, return_indices: Literal[True], /) -> Tuple[Tensor, Tensor]: ...
- @overload
- def max_pool3d(input: Tensor, kernel_size: Union[_int, _size], stride: Optional[Union[_int, _size]] = None, padding: Union[_int, _size] = 0, dilation: Union[_int, _size] = 1, ceil_mode: bool = False, *, return_indices: Literal[True]) -> Tuple[Tensor, Tensor]: ...
|