mindspore.ops.UpsampleNearest3D

class mindspore.ops.UpsampleNearest3D(output_size=None, scales=None)[源代码]

执行最近邻上采样操作。

此运算符使用指定的 output_sizescales 缩放因子放大输入体积,过程使用最近的邻算法。

必须指定 output_sizescales 中的一个值,并且不能同时指定两者。

参数:
  • output_size (Union[tuple[int], list[int]],可选) - 指定输出体积大小的元组或int列表。默认值:None。

  • scales (Union[tuple[float], list[float]],可选) - 指定上采样因子的元组或float列表。默认值:None。

输入:
  • x (Tensor) - Shape为 \((N, C, D_{in}, H_{in}, W_{in})\) 的五维Tensor。支持的数据类型:[float16, float32, float64]。

输出:
  • y (Tensor) - 上采样输出。其shape \((N, C, D_{out}, H_{out}, W_{out})\) ,数据类型与 x 相同。

异常:
  • TypeError - 当 output_size 不是None并且 output_size 不是list[int]或tuple[int]。

  • TypeError - 当 scales 不是None并且 scales 不是list[float]或tuple[float]。

  • TypeError - x 的数据类型不是float16也、float32或float64。

  • ValueError - output_size 不为空时含有非正数值。

  • ValueError - scales 不为空时含有非正数值。

  • ValueError - x 维度不为5。

  • ValueError - scalesoutput_size 同时被指定或都不被指定。

  • ValueError - scales 被指定时其含有的元素个数不为3。

  • ValueError - output_size 被指定时其含有的元素个数不为3。

支持平台:

GPU CPU

样例:

>>> x = Tensor(np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])
...       .reshape([1, 1, 2, 2, 4]), mstype.float32)
>>> output_size = [3, 4, 5]
>>> net = ops.UpsampleNearest3D(output_size = output_size)
>>> output = net(x)
>>> print(output)
[[[[[ 1.  1.  2.  3.  4.]
    [ 1.  1.  2.  3.  4.]
    [ 5.  5.  6.  7.  8.]
    [ 5.  5.  6.  7.  8.]]
   [[ 1.  1.  2.  3.  4.]
    [ 1.  1.  2.  3.  4.]
    [ 5.  5.  6.  7.  8.]
    [ 5.  5.  6.  7.  8.]]
   [[ 9.  9. 10. 11. 12.]
    [ 9.  9. 10. 11. 12.]
    [13. 13. 14. 15. 16.]
    [13. 13. 14. 15. 16.]]]]]