Spec-Zone.ru › PyTorch 2

torch.nn.functional.upsample

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

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

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

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

Примечание

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

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

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

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

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

Параметры
  • input (Tensor) – входной тензор
  • size (int или Tuple[int] или Tuple[int, int] или Tuple[int, int, int]) – размер выходного пространства.
  • scale_factor (float или Tuple[float]) – множитель для размера пространственных осей. Должен соответствовать размеру входных данных, если это кортеж.
  • 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, линейные интерполирующие режимы (linear, bilinear, и trilinear) не обеспечивают пропорционального выравнивания пикселей выходного и входного тензоров, и, следовательно, выходные значения могут зависеть от размера входных данных. Это было стандартным поведением для этих режимов до версии 0.3.1. С тех пор стандартным поведением является align_corners = False. См. Upsample для конкретных примеров, как это влияет на выходные данные.

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

Spec-Zone.ru

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