mindspore.ops.movedim
- mindspore.ops.movedim(x, source, destination)[源代码]
调换 x 中 source 和 destination 两个维度的位置。
其它维度保留在原始位置。
- 参数:
x (Tensor) - 维度需要被移动的的Tensor, x 的维度不能是0。
source (Union[int, sequence[int]]) - 要移动的维度的原始位置。source 和 destination 长度需一致。
destination (Union[int, sequence[int]]) - 每个维度的目标位置。source 和 destination 长度需一致。
- 返回:
维度已经被移动的的Tensor。
- 异常:
ValueError - 如果维度不在 [-x.ndim, x.ndim) 的范围内,或者维度包含重复值。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> # case1 : moving single axis >>> from mindspore import ops, Tensor >>> import numpy as np >>> x = Tensor(np.zeros((3, 4, 5))) >>> output = ops.movedim(x, 0, -1) >>> print(output.shape) (4, 5, 3) >>> # case 2 : moving multiple axes >>> from mindspore import ops, Tensor >>> import numpy as np >>> x = Tensor(np.zeros((3, 4, 5))) >>> output = ops.movedim(x, (0, 2), (1, 2)) >>> print(output.shape) (4, 3, 5)