mindspore.ops.ResizeBilinearV2

查看源文件
class mindspore.ops.ResizeBilinearV2(align_corners=False, half_pixel_centers=False)[源代码]

使用双线性插值调整图像尺寸到指定的大小。

调整过程只改变输入图像最低维度的数据,即图像的高和宽。

警告

这是一个实验性API,后续可能修改或删除。

参数:
  • align_corners (bool,可选) - 如果为 True ,则使用比例 (new_height1)/(height1) 对输入进行缩放,此时输入图像和输出图像的四个角严格对齐。如果为 False ,使用比例 new_height/height 对输入进行缩放。默认值: False

  • half_pixel_centers (bool,可选) - 是否使用半像素中心对齐。如果设置为 True ,那么 align_corners 应该设置为 False 。默认值: False

输入:
  • x (Tensor) -输入图像为四维的Tensor,其shape为 (batch,channels,height,width) ,支持的数据类型有:float16、float32。

  • size (Union[tuple[int], list[int], Tensor]) - 调整后图像的尺寸,为含有两个元素的一维的Tensor、list或tuple,两个元素分别为 (new_height,new_width)

输出:

Tensor,调整大小后的图像,是一个四维Tensor,其shape为 (batch,channels,new_height,new_width) ,数据类型与 x 一致。

异常:
  • TypeError - align_corners 不是bool。

  • TypeError - half_pixel_centers 不是bool。

  • TypeError - align_cornershalf_pixel_centers 同时为 True

  • ValueError - half_pixel_centersTrue,同时运行平台为CPU。

  • ValueError - x 维度不是4。

  • ValueError - size 为Tensor且维度不是1。

  • ValueError - size 含有元素个数不是2。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> from mindspore import Tensor, ops
>>> x = Tensor([[[[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]]], mindspore.float32)
>>> output = ops.ResizeBilinearV2()(x, (5, 5))
>>> print(output)
[[[[1. 2. 3. 4. 5.]
   [1. 2. 3. 4. 5.]
   [1. 2. 3. 4. 5.]
   [1. 2. 3. 4. 5.]
   [1. 2. 3. 4. 5.]]]]