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_NEARESTOpenCV.Примечание
Эта операция может генерировать недетерминированные градиенты при использовании тензоров на устройстве 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