mindspore.ops.UpsampleNearest3D
- class mindspore.ops.UpsampleNearest3D[源代码]
执行最近邻上采样操作。
此运算符使用指定的 output_size 或 scales 缩放因子放大输入体积,过程使用最近邻算法。
必须指定 output_size 或 scales 中的一个值,并且不能同时指定两者。
- 输入:
x (Tensor) - Shape为 \((N, C, D_{in}, H_{in}, W_{in})\) 的五维Tensor。支持的数据类型:[uint8, float16, float32, float64]。
output_size (Union[tuple[int], list[int]]) - 指定输出体积大小的元组或int列表。默认值:
None
。scales (Union[tuple[float], list[float]]) - 指定上采样因子的元组或float列表。默认值:
None
。
- 输出:
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 的数据类型不是uint8、float16、float32或float64。
ValueError - output_size 不为
None
时含有负数或0。ValueError - scales 不为
None
时含有负数或0。ValueError - x 维度不为5。
ValueError - scales 和 output_size 同时被指定或都不被指定。
ValueError - scales 被指定时其含有的元素个数不为3。
ValueError - output_size 被指定时其含有的元素个数不为3。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import Tensor, ops >>> from mindspore import dtype as mstype >>> 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 = net(x, output_size, None) >>> 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.]]]]]