mindspore.ops.ResizeBilinear

class mindspore.ops.ResizeBilinear(size, align_corners=False, half_pixel_centers=False)[源代码]

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

调整输入图像的高和宽,且可以输入不同数据类型的图像,但输出的数据类型只能是float32。

使用通用resize功能请参考 mindspore.ops.interpolate()

Warning

这个接口不支持动态shape,而且将来可能面临更改或删除,用 mindspore.ops.interpolate() 可替代该接口。

参数:
  • size (Union[tuple[int], list[int]]) - 指定图像的新尺寸,输入格式为:2个int元素 \((new\_height, new\_width)\) 的tuple或者list。

  • align_corners (bool) - 如果为True,则通过 \((new\_height - 1) / (height - 1)\) 调整输入,这将精确对齐图像的4个角和调整图像大小。如果为False,则按 \(new\_height / height\) 调整输入。默认值:False。

  • half_pixel_centers (bool) - 是否几何中心对齐。如果设置为True, 那么 scale_factor 应该设置为False。默认值:False。

输入:
  • x (Tensor) - ResizeBilinear的输入,四维的Tensor,其shape为 \((batch, channels, height, width)\) ,数据类型为float32或float16。

输出:

Tensor,调整大小后的图像。shape为 \((batch, channels, new\_height, new\_width)\) 的四维Tensor,数据类型与输入 x 相同。

异常:
  • TypeError - size 既不是tuple,也不是list。

  • TypeError - align_corners 不是bool。

  • TypeError - half_pixel_centers 不是bool。

  • TypeError - align_cornershalf_pixel_centers 都为True。

  • TypeError - half_pixel_centers 为True,且device_target不为Ascend。

  • TypeError - x 的数据类型既不是float16也不是float32。

  • TypeError - x 不是Tensor。

  • ValueError - x 的shape长度不等于4。

支持平台:

Ascend CPU GPU

样例:

>>> x = Tensor([[[[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]]], mindspore.float32)
>>> resize_bilinear = ops.ResizeBilinear((5, 5))
>>> output = resize_bilinear(x)
>>> 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.]]]]