Spec-Zone.ru › PyTorch 2.14

torch.nn.functional.affine_grid

torch.nn.functional.affine_grid(theta, size, align_corners=None) [исходный код]

Создает двумерное или трехмерное поле потока (сетку выборки) на основе пакета аффинных матриц theta.

Примечание

Эта функция часто используется вместе с grid_sample() для построения сетей Spatial Transformer Networks .

Параметры:
  • theta (Tensor) – входной пакет аффинных матриц размером (N×2×3N \times 2 \times 3) для 2D или (N×3×4N \times 3 \times 4) для 3D
  • size (torch.Size) – размер выходного изображения. (N×C×H×WN \times C \times H \times W для 2D или N×C×D×H×WN \times C \times D \times H \times W для 3D) Пример: torch.Size((32, 3, 24, 24))
  • align_corners (bool, необязательно) – если True, считать, что -1 и 1 относятся к центрам угловых пикселей, а не к углам изображения. Более подробное описание см. в grid_sample(). Сетку, созданную с помощью affine_grid(), следует передавать в grid_sample() с тем же значением этого параметра. Значение по умолчанию: False
Возвращает:

выходной тензор размером (N×H×W×2N \times H \times W \times 2)

Тип возвращаемого значения:

выходное значение (Tensor)

Предупреждение

Если align_corners = True, положения точек сетки зависят от размера пикселя относительно размера входного изображения, поэтому координаты, выбираемые функцией grid_sample(), будут различаться для одного и того же входного изображения, заданного в разных разрешениях (то есть после увеличения или уменьшения масштаба). В версиях до 1.2.0 включительно поведением по умолчанию было align_corners = True. С тех пор поведение по умолчанию изменено на align_corners = False, чтобы оно соответствовало значению по умолчанию для interpolate().

Предупреждение

Если align_corners = True, двумерные аффинные преобразования для одномерных данных и трехмерные аффинные преобразования для двумерных данных (то есть когда один из пространственных размеров равен единице) не определены однозначно и не предназначены для использования в таких случаях. Эта проблема не возникает, если align_corners = False. В версиях до 1.2.0 включительно все точки сетки вдоль измерения единичного размера произвольно считались расположенными в -1. Начиная с версии 1.3.0, при align_corners = True все точки сетки вдоль измерения единичного размера считаются расположенными в 0 (в центре входного изображения).

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.functional.affine_grid.html

Spec-Zone.ru

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