Spaces:
Running
Running
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 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]: ... | |