Shortcuts

torch.ao.nn.quantized.functional 的源代码

r""" 功能接口(量化)。"""
from typing import List, Optional
import warnings

import torch
from torch import Tensor
from torch.nn.modules.utils import _pair, _triple
from torch.jit.annotations import BroadcastingList2

from .modules.utils import _pair_from_first

# 尽管一些函数和文档字符串是从 torch.nn 镜像过来的,
# 但我们希望将它们保留在这里以备将来更改。

__all__ = [
    "avg_pool2d",
    "avg_pool3d",
    "adaptive_avg_pool2d",
    "adaptive_avg_pool3d",
    "conv1d",
    "conv2d",
    "conv3d",
    "interpolate",
    "linear",
    "max_pool1d",
    "max_pool2d",
    "celu",
    "leaky_relu",
    "hardtanh",
    "hardswish",
    "threshold",
    "elu",
    "hardsigmoid",
    "clamp",
    "upsample",
    "upsample_bilinear",
    "upsample_nearest",
]

[docs]def avg_pool2d(input, kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True, divisor_override=None): r""" 在 :math:`kH \times kW` 区域中应用 2D 平均池化操作,步长为 :math:`sH \times sW`。 输出特征的数量等于输入平面的数量。 .. 注意:: 输入量化参数传播到输出。 参见 :class:`~torch.ao.nn.quantized.AvgPool2d` 了解详细信息和输出形状。 参数: input: 量化输入张量 :math:`(\text{minibatch} , \text{in\_channels} , iH , iW)` kernel_size: 池化区域的大小。可以是单个数字或元组 `(kH, kW)` stride: 池化操作的步长。可以是单个数字或元组 `(sH, sW)`。默认值: :attr:`kernel_size` padding: 输入两侧的隐式零填充。可以是单个数字或元组 `(padH, padW)`。默认值: 0 ceil_mode: 当为 True 时,将使用 `ceil` 而不是 `floor` 来计算输出形状。默认值: ``False`` count_include_pad: 当为 True 时,将在平均计算中包含零填充。默认值: ``True`` divisor_override: 如果指定,将用作除数,否则将使用池化区域的大小。默认值: None """ if not input.is_quantized: raise ValueError("Input to 'quantized.avg_pool2d' must be quantized!") return torch.nn.functional.avg_pool2d(input, kernel_size, stride, padding, ceil_mode, count_include_pad, divisor_override)
[docs]def avg_pool3d(input, kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True, divisor_override=None): r""" 在 :math:`kD \times kH \times kW` 区域中应用 3D 平均池化操作,步长为 :math:`sD \times sH \times sW`。 输出特征的数量等于输入平面的数量。 .. 注意:: 输入量化参数传播到输出。 参数: input: 量化输入张量 :math:`(\text{minibatch} , \text{in\_channels} , iH , iW)` kernel_size: 池化区域的大小。可以是单个数字或元组 `(kD, kH, kW)` stride: 池化操作的步长。可以是单个数字或元组 `(sD, sH, sW)`。默认值: :attr:`kernel_size` padding: 输入两侧的隐式零填充。可以是单个数字或元组 `(padD, padH, padW)`。默认值: 0 ceil_mode: 当为 True 时,将使用 `ceil` 而不是 `floor` 来计算输出形状。默认值: ``False`` count_include_pad: 当为 True 时,将在平均计算中包含零填充。默认值: ``True`` divisor_override: 如果指定,将用作除数,否则将使用池化区域的大小。默认值: None """ if not input.is_quantized: raise ValueError("Input to 'quantized.avg_pool3d' must be quantized!") return torch.nn.functional.avg_pool3d(input, kernel_size, stride, padding, ceil_mode, count_include_pad, divisor_override)
[docs]def adaptive_avg_pool2d(input: Tensor, output_size: BroadcastingList2[int]) -> Tensor: r""" 对由多个量化输入平面组成的量化输入信号应用 2D 自适应平均池化。 .. 注意:: 输入量化参数传播到输出。 参见 :class:`~torch.ao.nn.quantized.AdaptiveAvgPool2d` 了解详细信息和输出形状。 参数: output_size: 目标输出大小(单个整数或双整数元组) """ if not input.is_quantized: raise ValueError("Input to 'quantized.functional.adaptive_avg_pool2d' must be quantized!") return torch.nn.functional.adaptive_avg_pool2d(input, output_size)
[docs]def adaptive_avg_pool3d(input: Tensor, output_size: BroadcastingList2[int]) -> Tensor: r""" 对由多个量化输入平面组成的量化输入信号应用 3D 自适应平均池化。
优云智算