SliceOperation

功能

从Tensor中提取切片,从offset位置开始,大小为size。

图1 SliceOperation

约束

对应维度offsets,以及offsets + size须在x的对应维度的大小范围内。

定义

struct SliceParam {
    SVector<int64_t> offsets;
    SVector<int64_t> size;
};

成员

成员名称

描述

offsets

每个维度切片的起始位置,维度与输入Tensor一致。

  • 当offsets元素x小于0时,该元素对应的维度大小为dimNum,要求dimNum与x之和大于等于0。
  • 当offsets[i]小于0时,其含义是第i维最高维度开始访问,如offsets= -1,输入x的维度为dimNum,则对应维度切片的起始位置为dimNum - 1。

size

每个维度切片的大小,维度与输入Tensor一致。

  • size中元素要求大于等于-1。
  • 当size = -1时,表示切片的结束位置是对应维度最后一个位置。如果对应维度大小为dimNum,则结束位置为dimNum - 1。

输入

参数

维度

数据类型

格式

x

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/int8/uint8/bool/int32/uint32

ND

输出

参数

维度

数据类型

格式

描述

output

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/int8/uint8/bool/int32/uint32

ND

每个维度的大小为size指定的大小。