torch.nn.functional.affine_grid
-
torch.nn.functional.affine_grid(theta, size, align_corners=None)[исходный код] -
Создает двумерное или трехмерное поле потока (сетку выборки) на основе пакета аффинных матриц
theta.Примечание
Эта функция часто используется вместе с
grid_sample()для построения сетей Spatial Transformer Networks .- Параметры:
-
- theta (Tensor) – входной пакет аффинных матриц размером () для 2D или () для 3D
- size (torch.Size) – размер выходного изображения. ( для 2D или для 3D) Пример: torch.Size((32, 3, 24, 24))
-
align_corners (bool, необязательно) – если
True, считать, что-1и1относятся к центрам угловых пикселей, а не к углам изображения. Более подробное описание см. вgrid_sample(). Сетку, созданную с помощьюaffine_grid(), следует передавать вgrid_sample()с тем же значением этого параметра. Значение по умолчанию:False
- Возвращает:
-
выходной тензор размером ()
- Тип возвращаемого значения:
-
выходное значение (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