文件最后提交记录最后更新时间
4 小时前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
4 小时前
README

SliceWithAxes

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

  • 算子功能:沿指定axes从输入张量中提取切片,每个axis由offsets指定起始位置、size指定切片长度。

  • 计算示例:

    • 输入 x shape = (10, 20, 30),axes = [0, 2],offsets = [1, 5],size = [5, 10]
    • 输出 y shape = (5, 20, 10)
    • y[i, j, k] = x[1 + i, j, 5 + k]
  • 计算公式: 输出 y 的 shape 与输入 x 相同,仅 axes 中指定的维度被替换为对应的 size。对axes中的第k个轴axis_k:

    y[..., axis_k, ...] = x[..., offsets[k] : offsets[k] + size[k], ...]
    
    当 size[k] == -1 时,表示从 offsets[k] 切到该轴末尾,即 size[k] = x.shape[axis_k] - offsets[k]
    

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 输入张量 INT8、UINT8、INT16、UINT16、INT32、UINT32、INT64、UINT64、FLOAT、FLOAT16、BF16、BOOL ND
offsets 输入 各axis的切片起始位置,1D张量,长度等于axes长度 INT32、INT64 ND
size 输入 各axis的切片长度,1D张量,长度等于axes长度。值为-1表示从offset切到该轴末尾 INT32、INT64 ND
axes 属性(必选) 指定切片的轴列表 ListInt -
y 输出 输出张量,与x具有相同的数据类型和格式 与x一致 ND

约束说明

  • 输入张量x的维度范围为 [1, 8]。
  • axes中的每个axis必须满足 0 <= axis < rank。
  • 对每个切片轴,需满足 offsets[k] >= 0 且 offsets[k] + size[k] <= x.shape[axis_k](size[k]为-1时自动取到末尾)。
  • 输出各维度大小必须 >= 0。
  • 支持动态Shape、动态Rank、动态编译静态。

调用说明

调用方式 样例代码 说明
图模式调用 test_geir_slice_with_axes 通过算子IR构图方式调用SliceWithAxes算子。