Spec-Zone.ru › PyTorch 2

torch.nn.functional.interpolate

torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None, recompute_scale_factor=None, antialias=False) [source]

Интерполирует входные данные до заданного size или заданного scale_factor.

Алгоритм интерполяции определяется mode.

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

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

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

Параметры
  • input (Тензор) – входной тензор
  • size (int или Tuple[int] или Tuple[int, int] или Tuple[int, int, int]) – пространственный размер выходных данных.
  • scale_factor (float или Tuple[float]) – множитель для пространственного размера. Если scale_factor является кортежем, его длина должна соответствовать числу пространственных измерений; input.dim() - 2.
  • mode (str) – алгоритм, используемый для увеличения размера: 'nearest' | 'linear' | 'bilinear' | 'bicubic' | 'trilinear' | 'area' | 'nearest-exact'. По умолчанию: 'nearest'
  • align_corners (bool, необязательно) – Геометрически мы рассматриваем пиксели входных и выходных данных как квадраты, а не точки. Если установлено в True, входные и выходные тензоры выравниваются по центральным точкам их угловых пикселей, сохраняя значения в угловых пикселях. Если установлено в False, входные и выходные тензоры выравниваются по угловым точкам их угловых пикселей, и интерполяция использует заполнение значением края для значений вне области, что делает эту операцию независимой от размера входных данных, когда scale_factor сохраняется одинаковым. Это имеет эффект только тогда, когда mode равно 'linear', 'bilinear', 'bicubic' или 'trilinear'. По умолчанию: False
  • recompute_scale_factor (bool, необязательно) – пересчитывает scale_factor для использования в расчёте интерполяции. Если recompute_scale_factor равно True, то scale_factor должно быть передано, и scale_factor используется для вычисления выходных size. Вычисленное выходное значение size будет использоваться для вывода новых масштабов для интерполяции. Обратите внимание, что когда scale_factor является плавающей точкой, оно может отличаться от пересчитанного scale_factor из-за округления и проблем с точностью. Если recompute_scale_factor равно False, то size или scale_factor будут использоваться непосредственно для интерполяции. По умолчанию: None.
  • antialias (bool, необязательно) – флаг для применения антиалиасинга. По умолчанию: False. Использование опции антиалиасинга вместе с align_corners=False, результат интерполяции будет соответствовать результату Pillow для операции уменьшения размера. Поддерживаемые режимы: 'bilinear', 'bicubic'.
Тип возвращаемого значения

Тензор

Примечание

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

Примечание

Режим mode='nearest-exact' соответствует алгоритмам интерполяции ближайших соседей Scikit-Image и PIL и исправляет известные проблемы с mode='nearest'. Этот режим введён для сохранения обратной совместимости. Режим mode='nearest' соответствует глючному алгоритму интерполяции INTER_NEAREST OpenCV.

Примечание

Градиенты для типа данных float16 на CUDA могут быть неточными при операции увеличения размера, когда используются режимы ['linear', 'bilinear', 'bicubic', 'trilinear', 'area']. Для получения дополнительной информации обратитесь к обсуждению в issue#104157.

Примечание

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

© 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.interpolate.html

Spec-Zone.ru

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