昇腾社区首页
中文
注册

SliceOperation

功能

从输入张量某个起始位置中提取指定大小的切片。

图1 SliceOperation

定义

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

成员

成员名称

描述

offsets

每个维度切片的起始位置。

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

size

每个维度切片的大小。

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

输入

参数

维度

数据类型

格式

描述

x

[-1,…,-1]

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

float16/float/int8/bool/int32/uint32/bfloat16

ND

输入tensor。

输出

参数

维度

数据类型

格式

描述

output

[-1,…,-1]

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

float16/float/int8/bool/int32/uint32/bfloat16

ND

输出tensor,维度的大小为size指定的大小。