Spec-Zone.ru › PyTorch 2.14

torch.nn.functional.upsample

torch.nn.functional.upsample(input, size=None, scale_factor=None, mode='nearest', align_corners=None) [исходный код]

Увеличивает размер входных данных.

Предоставленный тензор увеличивается до заданного size или до заданного scale_factor

Предупреждение

Эта функция устарела; вместо неё следует использовать torch.nn.functional.interpolate(). Это эквивалентно nn.functional.interpolate(...).

Примечание

Эта операция может приводить к недетерминированным градиентам при работе с тензорами на устройстве CUDA. Подробнее см. в разделе Воспроизводимость.

Используемый алгоритм увеличения размера определяется параметром mode.

В настоящее время поддерживается увеличение размера временных, пространственных и объёмных данных, то есть ожидаются входные данные размерностью 3-D, 4-D или 5-D.

Размерности входных данных интерпретируются в следующем виде: mini-batch x channels x [optional depth] x [optional height] x width.

Доступны следующие режимы увеличения размера: nearest, linear (только для 3D), bilinear, bicubic (только для 4D), trilinear (только для 5D), lanczos (только для 4D)

Параметры:
  • input (Тензор) – входной тензор
  • size (int or Tuple[int] or Tuple[int, int] or Tuple[int, int, int]) – размер выходных пространственных данных.
  • scale_factor (float or Tuple[float]) – множитель для размера пространственных данных. Если это кортеж, его длина должна соответствовать размерности входных данных.
  • mode (str) – алгоритм увеличения размера: 'nearest' | 'linear' | 'bilinear' | 'bicubic' | 'trilinear' | 'lanczos'. По умолчанию: 'nearest'
  • align_corners (bool, optional) – С геометрической точки зрения пиксели входных и выходных данных рассматриваются как квадраты, а не как точки. Если задано значение True, входные и выходные тензоры выравниваются по центральным точкам угловых пикселей, сохраняя значения угловых пикселей. Если задано значение False, входные и выходные тензоры выравниваются по угловым точкам угловых пикселей, а при интерполяции для значений за пределами границ используются значения на краях. Это делает операцию независимой от размера входных данных, если scale_factor остаётся неизменным. Параметр влияет на результат только при значении mode, равном 'linear', 'bilinear', 'bicubic' или 'trilinear'. По умолчанию: False

Примечание

При использовании mode='bicubic' или mode='lanczos' возможно превышение диапазона, то есть могут появляться отрицательные значения или значения больше 255 для изображений. Явно вызовите result.clamp(min=0, max=255), если хотите уменьшить превышение диапазона при отображении изображения.

Предупреждение

При использовании align_corners = True режимы линейной интерполяции (linear, bilinear и trilinear) не обеспечивают пропорционального выравнивания выходных и входных пикселей, поэтому выходные значения могут зависеть от размера входных данных. До версии 0.3.1 это было поведением по умолчанию для этих режимов. С тех пор поведением по умолчанию является align_corners = False. В Upsample приведены конкретные примеры влияния этого параметра на результаты.

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.functional.upsample.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API