slice
功能说明
从输入tensor中根据begin与end获取切片数据。
例如:
- 输入tensor为: [[1,2,3],[4,5,6],[7,8,9]]
- begin为: [0,1]
- end为: [2,2]
调用slice接口,则代表需要在tensor的第0维中截取索引范围为[0, 2)的数据,第1维中截取索引范围为[1, 2)的数据,结果如下所示:
slice_tensor = [[2], [5]]
函数原型
slice(tensor, begin, end, stride=None)
参数说明
返回值
执行slice操作之后的Tensor,tvm.tensor类型
约束说明
支持的型号
Atlas 训练系列产品
Atlas 推理系列产品(Ascend 310P处理器)
Atlas 200/500 A2推理产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
调用示例
- 示例:输入tensor为:
tensor = [[1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15], [16,17,18,19,20]]
输入begin为:
begin = [0,1]
输入end为:
end = [3,5]
调用slice接口,根据begin和end获取数据切片,代码示例如下所示:from tbe import tvm from tbe import dsl tensor = tvm.placeholder((4, 5), dtype=dtype, name="params") begin = [0, 1] end = [3, 5] slice_tensor = dsl.slice(tensor,begin,end)
以上代码的功能为获取tensor的数据切片,其中第0维,获取索引为0,1,2的数据;第1维,获取索引为1,2,3,4的数据。
输出结果如下所示:
slice_tensor = [[2,3,4,5], [7,8,9,10], [12,13,14,15]]
父主题: Tensor操作接口