mindspore.numpy.roll
- mindspore.numpy.roll(a, shift, axis=None)[源代码]
将Tensor沿给定的轴进行滚动。 滚动超出最后位置的元素会重新回到第一个位置。
- 参数:
a (Tensor) - 输入Tensor。
shift (Union[int, tuple(int)]) - 元素滚动的位移数量。如果为tuple,则
axis
必须是相同大小的tuple,并且每个给定的轴按对应的位移数量滚动。如果shift
是整数,而axis
是整数tuple,则所有给定的轴都使用相同的位移值。axis (Union[int, tuple(int)], 可选) - 沿哪个轴或哪些轴滚动元素。默认情况下,数组在滚动前会被展平,然后恢复原始shape。默认值:
None
。
- 返回:
Tensor,shape与
a
相同的Tensor。- 异常:
TypeError - 如果输入参数非上述给定的类型。
ValueError - 如果
axis
超过a.ndim
,或者shift
和axis
不能广播。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore.numpy as np >>> a = np.reshape(np.arange(12), (3, 4)) >>> print(np.roll(a, [2,-3], [0,-1])) [[ 7 4 5 6] [11 8 9 10] [ 3 0 1 2]]