Spec-Zone.ru › PyTorch 1

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

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

Параметры:
  • input (Тензор) – входной тензор
  • size (int или Кортеж[int] или Кортеж[int, int] или Кортеж[int, int, int]) – выходной пространственный размер.
  • scale_factor (float или Кортеж[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.

Примечание

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

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

Spec-Zone.ru

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