mindspore.ops.AffineGrid

class mindspore.ops.AffineGrid(align_corners=False)[source]

Creates a 2D or 3D flow field (sampling grid) based on a batch of affine matrices theta.

Warning

This is an experimental API that is subject to change or deletion.

Refer to mindspore.ops.affine_grid() for more details.

Parameters

align_corners (bool, optional) – Geometrically, each pixel of input is viewed as a squqre instead of dot. If True, consider extremum -1 and 1 referring to the centers of the pixels rather than pixel corners. The default value is False , extremum -1 and 1 refer to the corners of the pixels, so that sampling is irrelevant to resolution of the image. Default: False .

Inputs:
  • theta (Tensor) - The input tensor of flow field whose dtype is float16, float32. Input batch of affine matrices with shape (N,2,3) for 2D grid or (N,3,4) for 3D grid.

  • output_size (tuple[int]) - The target output image size. The value of target output with format (N,C,H,W) for 2D grid or (N,C,D,H,W) for 3D grid.

Outputs:

Tensor, a tensor whose data type is same as 'theta', and the shape is (N,H,W,2) for 2D grid or (N,D,H,W,3) for 3D grid.

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> from mindspore import Tensor, ops
>>> affinegrid = ops.AffineGrid(align_corners=False)
>>> theta = Tensor([[[0.8, 0.5, 0],[-0.5, 0.8, 0]]], mindspore.float32)
>>> out_size = (1, 3, 2, 3)
>>> output = affinegrid(theta, out_size)
>>> print(output)
[[[[-0.78333336 -0.06666666]
[-0.25       -0.4       ]
[ 0.28333336 -0.73333335]]
[[-0.28333336  0.73333335]
[ 0.25        0.4       ]
[ 0.78333336  0.06666666]]]]