CANN/ops-math稀疏张量重塑

📅 2026/7/4 8:34:42
CANN/ops-math稀疏张量重塑
SparseReshape【免费下载链接】ops-math本项目是CANN提供的数学类基础计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-math贡献说明贡献者贡献算子贡献时间贡献内容产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品×Atlas A2 训练系列产品/Atlas A2 推理系列产品×Atlas 200I/500 A2 推理产品×Atlas 推理系列产品×Atlas 训练系列产品×功能说明算子功能将稀疏张量(SparseTensor)的indices从输入shape重塑到目标shape。稀疏张量由indices(非零元素坐标)、values(非零元素值)和shape(稠密形状)组成。SparseReshape仅对indices和shape进行重塑不修改values。计算公式$$ \text{flat_id} \sum_{j0}^{\text{input_rank}-1} \text{indices}[i, j] \times \text{input_strides}[j] $$$$ \text{y_indices}[i, j] \lfloor \text{flat_id} / \text{output_strides}[j] \rfloor, \quad \text{flat_id} \text{flat_id} \bmod \text{output_strides}[j] $$参数说明参数名输入/输出/属性描述数据类型数据格式indices输入非零元素的多维坐标矩阵2D张量shape(nnz, input_rank)。INT32、INT64NDshape输入原始稠密形状1D张量shape(input_rank,)。INT32、INT64NDnew_shape输入目标稠密形状1D张量shape(output_rank,)。允许一个维度为-1自动推导。INT32、INT64NDy_indices输出重塑后的非零元素坐标矩阵2D张量shape(nnz, output_rank)。INT32、INT64NDy_shape输出重塑后的稠密形状1D张量shape(output_rank,)。INT32、INT64ND约束说明输入indices必须为2D矩阵shape和new_shape必须为1D向量。input_rank和output_rank均不超过8维(MAX_RANK8)。new_shape中最多允许一个维度为-1该维度值由总元素数除以其他维度乘积自动推导。输入shape和输出new_shape的总元素数必须一致。所有输入和输出的dtype必须相同(全部int32或全部int64)。调用说明调用方式调用样例说明图模式调用test_geir_sparse_reshape参见算子调用完成算子编译和验证。【免费下载链接】ops-math本项目是CANN提供的数学类基础计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-math创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考