Spec-Zone.ru › PyTorch 1

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.

В настоящее время поддерживается увеличение размера по временной, пространственной и объёмной координатам, т. е. ожидаются входные данные формы 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)

Параметры:
  • 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/1.13/generated/torch.nn.functional.upsample.html

Spec-Zone.ru

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