mindspore.ops.ResizeBicubic
- class mindspore.ops.ResizeBicubic(align_corners=False, half_pixel_centers=False)[source]
Resize images to size using bicubic interpolation.
Warning
This is an experimental API that is subject to change or deletion.
- Parameters
align_corners (bool, optional) – If
True
, the centers of the 4 corner pixels of the input and output tensors are aligned, preserving the values at the corner pixels. Default:False
.half_pixel_centers (bool, optional) – Whether to use half-pixel center alignment. If set to
True
, align_corners should beFalse
. Default:False
.
- Inputs:
images (Tensor) - The input image must be a 4-D tensor of shape \((batch, channels, height, width)\). The format must be NCHW. Types allowed: float16, float32, float64.
size (Union[tuple[int], Tensor[int]]) - A 1-D tensor or tuple with 2 elements: new_height, new_width. Besides, tuple[int] is recommended.
- Outputs:
A 4-D tensor with shape \((batch, channels, new\_height, new\_width)\) whose dtype is the same as images .
- Raises
TypeError – If the type of images is not allowed.
TypeError – If the type of align_corners is not bool.
TypeError – If the type of half_pixel_centers is not bool.
ValueError – If the dim of images is not 4.
ValueError – If the dim of size is not 1 when size is a tensor.
ValueError – If the number of elements in size is not 2.
ValueError – If any value of size is not positive.
ValueError – If the values of align_corners and half_pixel_centers are both
True
.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, ops, nn >>> class NetResizeBicubic(nn.Cell): ... def __init__(self): ... super(NetResizeBicubic, self).__init__() ... align_corners = False ... half_pixel_centers = False ... self.resize = ops.ResizeBicubic(align_corners, half_pixel_centers) ... ... def construct(self, images, size): ... return self.resize(images, size) ... >>> images = Tensor(np.array([1, 2, 3, 4]).reshape(1, 1, 2, 2).astype(np.float32)) >>> size = Tensor([1, 4], mindspore.int32) >>> resizebicubic = NetResizeBicubic() >>> output = resizebicubic(images, size) >>> print(output) [[[[1. 1.5 2. 2.09375]]]]