mindspore.ops.Slice

class mindspore.ops.Slice[源代码]

根据指定shape对输入Tensor进行切片。

更多参考详见 mindspore.ops.slice()

输入:
  • input_x (Tensor) - Slice的输入,任意维度的Tensor。其shape为 \((N, *)\) ,其中 \(*\) 为任意数量的额外维度。

  • begin (Union[tuple, list]) - 切片的起始位置。只支持常量值(>=0)。

  • size (Union[tuple, list]) - 切片的大小。只支持常量值。

输出:

Tensor,shape与输入 size 相同,数据类型与输入 input_x 的相同。

支持平台:

Ascend GPU CPU

样例:

>>> from mindspore import Tensor
>>> from mindspore import ops
>>> import numpy as np
>>> data = Tensor(np.array([[[1, 1, 1], [2, 2, 2]],
...                         [[3, 3, 3], [4, 4, 4]],
...                         [[5, 5, 5], [6, 6, 6]]]).astype(np.int32))
>>> slice_op = ops.Slice()
>>> output = slice_op(data, (1, 0, 0), (1, 1, 3))
>>> print(output)
[[[3 3 3]]]
>>> output = slice_op(data, (1, 0, 0), (1, 1, 2))
>>> print(output)
[[[3 3]]]
>>> output = slice_op(data, (1, 0, 0), (1, 1, 1))
>>> print(output)
[[[3]]]
>>> output = slice_op(data, (1, 1, 0), (1, 1, 3))
>>> print(output)
[[[4 4 4]]]
>>> output = slice_op(data, (1, 0, 1), (1, 1, 2))
>>> print(output)
[[[3 3]]]