文件最后提交记录最后更新时间
feat: 新增BatchToSpaceND A5实现 Co-authored-by: tan_xin<tanxin44@huawei.com> Co-authored-by: ly_cann_coder<liyao152@huawei.com> Co-authored-by: onanfield<tianshang@huawei.com> Co-authored-by: zhanw_coding<zhanwang@huawei.com> Co-authored-by: focusforce<gongquanchao@huawei.com> Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !1943 merge ft-batch2spacend into master feat: 新增BatchToSpaceND A5实现 Created-by: zhanw_coding Commit-by: zhanw_coding;onanfield;ly_cann_coder;tan_xin;yefeicoding;focusforce Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat: 新增BatchToSpaceND A5实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1101 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增了 BatchToSpaceND 算子的相关文档 - conversion/batch_to_space_nd/README.md - docs/zh/op_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!19432 个月前
feat: BatchToSpaceND 支持data type推导 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !2148 merge ft-comm-infer into master feat: BatchToSpaceND 支持data type推导 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat: BatchToSpaceND 支持data type推导 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1229 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!21481 个月前
batch_to_space_nd性能优化 Co-authored-by: onanfield<tianshang@huawei.com> # message auto-generated for no-merge-commit merge: !2154 merge b2s into master batch_to_space_nd性能优化 Created-by: onanfield Commit-by: onanfield Merged-by: cann-robot Description: ## 描述 修改tiling逻辑,提升小尾轴场景性能 ## 关联的Issue 问题单号:DTS2026040903924 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!21541 个月前
batch_to_space_nd & matrix_set_diag simt风格整改 Co-authored-by: t00850857<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !2464 merge master-simt1 into master batch_to_space_nd & matrix_set_diag simt风格整改 Created-by: tan_xin Commit-by: t00850857 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!24641 个月前
batch_to_space_nd性能优化 Co-authored-by: onanfield<tianshang@huawei.com> # message auto-generated for no-merge-commit merge: !2154 merge b2s into master batch_to_space_nd性能优化 Created-by: onanfield Commit-by: onanfield Merged-by: cann-robot Description: ## 描述 修改tiling逻辑,提升小尾轴场景性能 ## 关联的Issue 问题单号:DTS2026040903924 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!21541 个月前
feat: 新增BatchToSpaceND A5实现 Co-authored-by: tan_xin<tanxin44@huawei.com> Co-authored-by: ly_cann_coder<liyao152@huawei.com> Co-authored-by: onanfield<tianshang@huawei.com> Co-authored-by: zhanw_coding<zhanwang@huawei.com> Co-authored-by: focusforce<gongquanchao@huawei.com> Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !1943 merge ft-batch2spacend into master feat: 新增BatchToSpaceND A5实现 Created-by: zhanw_coding Commit-by: zhanw_coding;onanfield;ly_cann_coder;tan_xin;yefeicoding;focusforce Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat: 新增BatchToSpaceND A5实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1101 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增了 BatchToSpaceND 算子的相关文档 - conversion/batch_to_space_nd/README.md - docs/zh/op_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!19432 个月前
feat: 新增BatchToSpaceND A5实现 Co-authored-by: tan_xin<tanxin44@huawei.com> Co-authored-by: ly_cann_coder<liyao152@huawei.com> Co-authored-by: onanfield<tianshang@huawei.com> Co-authored-by: zhanw_coding<zhanwang@huawei.com> Co-authored-by: focusforce<gongquanchao@huawei.com> Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !1943 merge ft-batch2spacend into master feat: 新增BatchToSpaceND A5实现 Created-by: zhanw_coding Commit-by: zhanw_coding;onanfield;ly_cann_coder;tan_xin;yefeicoding;focusforce Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat: 新增BatchToSpaceND A5实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1101 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增了 BatchToSpaceND 算子的相关文档 - conversion/batch_to_space_nd/README.md - docs/zh/op_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!19432 个月前
README.md

BatchToSpaceND

产品支持情况

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

功能说明

  • 算子功能:将批次维度的数据重新排列到空间维度,并裁剪空间维度。

  • 功能描述: 该算子是 SpaceToBatchND 的逆操作。它首先将输入张量的批次维度按照指定的块形状(block_shape)重新排列到空间维度中,然后根据裁剪参数(crops)裁剪空间维度。具体来说,它将批次维度中的数据分散到空间维度中,从而增加空间维度的大小,同时减少批次维度的大小。

  • 计算公式: 设输入张量 x 为 N 维,形状为 [x0,x1,…,xN−1][x_0, x_1, \ldots, x_{N-1}],block_shape 为 M 维 1D 张量 [b0,b1,…,bM−1][b_0, b_1, \ldots, b_{M-1}],crops 为 M×2M \times 2 的 2D 张量 [[c00,c01],[c10,c11],…,[cM−1,0,cM−1,1]][[c_{00}, c_{01}], [c_{10}, c_{11}], \ldots, [c_{M-1,0}, c_{M-1,1}]],满足 1≤M<N≤81 \leq M < N \leq 8

    输出张量 y 形状为 [y0,y1,…,yN−1][y_0, y_1, \ldots, y_{N-1}],计算方式如下:

    yi={x0∏j=0M−1bj,i=0xi×bi−1−ci−1,0−ci−1,1,1≤i≤Mxi,M+1≤i≤N−1y_i = \begin{cases} \frac{x_0}{\prod_{j=0}^{M-1} b_j}, & i = 0 \\ x_i \times b_{i-1} - c_{i-1,0} - c_{i-1,1}, & 1 \leq i \leq M \\ x_i, & M+1 \leq i \leq N-1 \end{cases}

    其中,x0x_0 必须能够被 ∏j=0M−1bj\prod_{j=0}^{M-1} b_j 整除。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 表示输入张量,支持多种数据类型 INT8、UINT8、INT16、UINT16、INT32、UINT32、INT64、UINT64、BF16、FLOAT16、FLOAT、DOUBLE、BOOL、COMPLEX32、COMPLEX64 ND
block_shape 输入 表示空间块的形状,1D张量,形状为[M],指定每个空间维度的块大小 INT32、INT64 -
crops 输入 表示裁剪量,2D张量,形状为[M, 2],指定每个空间维度从顶部和底部(或左侧和右侧)裁剪的元素数量 INT32、INT64 -
y 输出 表示输出张量,与输入x具有相同的数据类型。输出形状根据block_shape和crops进行计算 与x一致 ND
  • Atlas 训练系列产品、Atlas 推理系列产品、Atlas 200I/500 A2 推理产品、Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持BOOL。

约束说明

  1. 输入张量 x 的维度 N 必须满足 2 ≤ N ≤ 8。
  2. block_shape 的维度 M 必须满足 1 ≤ M < N。
  3. block_shape 的长度必须等于 crops 的第一维度长度。
  4. crops 的形状必须为 [M, 2]。
  5. 输入张量的第 0 维(batch 维度)必须能够被 block_shape 中所有元素的乘积整除。
  6. block_shape 中的每个元素必须大于 0。
  7. crops 中的每个元素必须是非负整数。
  8. 对于每个空间维度 i(i = 1, 2, ..., M),裁剪后的维度大小必须大于等于 0,即:x.shape[i] × block_shape[i-1] - crops[i-1][0] - crops[i-1][1] ≥ 0。

调用说明

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