快捷方式

torch.nn.functional.upsample

torch.nn.functional.upsample(input, size=None, scale_factor=None, mode='nearest', align_corners=None)[source][source]

对输入进行上采样。

提供的张量将根据给定的 sizescale_factor 进行上采样。

警告

此函数已弃用,请使用 torch.nn.functional.interpolate() 代替。它等同于 nn.functional.interpolate(...)

注意

在 CUDA 设备上给定张量时,此操作可能会产生非确定性梯度。更多信息请参阅可复现性

上采样所使用的算法由 mode 决定。

当前支持时间维、空间维和体素维的上采样,即期望输入形状为 3-D、4-D 或 5-D。

输入维度按以下形式解释:mini-batch x channels x [可选深度] x [可选高度] x 宽度

可用于上采样的模式有:nearest(最近邻插值)、linear(线性插值,仅 3D)、bilinear(双线性插值)、bicubic(双三次插值,仅 4D)、trilinear(三线性插值,仅 5D)

参数
  • input (Tensor) – 输入张量

  • size (intTuple[int] 或 Tuple[int, int] 或 Tuple[int, int, int]) – 输出空间大小。

  • scale_factor (floatTuple[float]) – 空间大小的乘数。如果是 Tuple,则必须与输入大小匹配。

  • mode (str) – 上采样使用的算法:'nearest'(最近邻) | 'linear'(线性) | 'bilinear'(双线性) | 'bicubic'(双三次) | 'trilinear'(三线性)。默认值:'nearest'

  • align_corners (bool, 可选) – 从几何上讲,我们将输入和输出的像素视为正方形而不是点。如果设置为 True,输入和输出张量会通过角像素的中心点对齐,保留角像素的值。如果设置为 False,输入和输出张量会通过角像素的角点对齐,插值会使用边缘值填充边界外的值,当 scale_factor 保持不变时,这使得此操作与输入大小无关。这仅在 mode'linear', 'bilinear', 'bicubic''trilinear' 时生效。默认值:False

注意

在使用 mode='bicubic' 时,可能会导致过冲,换句话说,它可能为图像产生负值或大于 255 的值。如果在显示图像时想减少过冲,请显式调用 result.clamp(min=0, max=255)

警告

align_corners = True 时,线性插值模式(linearbilineartrilinear)不会按比例对齐输出和输入像素,因此输出值可能取决于输入大小。这是这些模式在 0.3.1 版本之前的默认行为。从那时起,默认行为是 align_corners = False。请参阅 Upsample 了解具体示例,说明这如何影响输出。

文档

查阅 PyTorch 全面的开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获取问题解答

查看资源