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