文件最后提交记录最后更新时间
math仓资料扫描整改 Co-authored-by: sunchun<sunchun4@h-partners.com> # message auto-generated for no-merge-commit merge: !1996 merge text1 into master math仓资料扫描整改 Created-by: sunchun Commit-by: sunchun Merged-by: cann-robot Description: ## 描述 math仓资料扫描。整改对应文件。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1131 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!19962 个月前
feat: 新增 im2col 950 实现 Co-authored-by: wangrui<wangrui124@huawei.com> Co-authored-by: zhanw_coding<zhanwang@huawei.com> Co-authored-by: 彭一鸣<pengyiming7@h-partners.com> Co-authored-by: yefeicoding<yefei25@huawei.com> Co-authored-by: alistair_pan<panhaolan@huawei.com> Co-authored-by: Zhang_Liangchen<zhangliangchen@huawei.com> Co-authored-by: chenyuqiao<chenyuqiao5@huawei.com> Co-authored-by: yifff<xuyifei15@huawei.com> # message auto-generated for no-merge-commit merge: !927 merge op-im2col into master feat: 新增 im2col 950 实现 Created-by: zhanw_coding Commit-by: zhanw_coding;yifff;yefeicoding;chenyuqiao;alistair_pan;Zhang_Liangchen;彭一鸣;wangrui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - feat: 新增 im2col ascend950 实现,包括gather/SIMT等模板 - perf: 重构优化infershape代码 - feat: 新增 im2col geir example - feat: im2col aclnn 适配 - doc: 修正im2col文档公式格式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - conversion/im2col/docs/aclnnIm2col.md - conversion/im2col/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!9274 个月前
【bugfix】添加format校验 Co-authored-by: liuyy611<liuyingying47@h-partners.com> # message auto-generated for no-merge-commit merge: !1743 merge master into master 【bugfix】添加format校验 Created-by: liuyy611 Commit-by: liuyy611 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> aclnnIm2col、 aclnnDiagFlat、 aclnnExpand、 aclnnFlatten、 aclnnDropout、 aclnnReplicationPad3dBackward、 aclnnInplaceMaskedFillTensor、 aclnn_l2接口内增加CheckFormat函数对不支持数据格式进行校验提醒。 aclnnDropoutGenMask、aclnnDropoutGenMaskV2、这两个算子的参数非Tensor,无需校验 aclnnReplicationPad3d 算子内已用LOGE拦截 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-math/issues/1029 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 单算子校验,test_aclnn测试接口中修改数据格式为ACL_FORMAT_FRACTAL_NZ,编译执行算子,日志中出现warning提醒数据格式可能造成精度失败。 ![image.png](https://raw.gitcode.com/user-images/assets/7649531/466b611c-533f-4c54-8d00-53a755968221/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7649531/070171e9-48fd-43d8-a1c5-e5dc7ee2ba8d/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7649531/fb523545-2795-43e8-aed6-47c7b85528b7/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7649531/b856acfe-f24f-44f0-9db8-dffbda128f77/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7649531/43882e6e-5d65-4e6c-99fe-3d1b4c6716a8/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7649531/2673b5dc-7b28-47ef-9d2e-943d6684934a/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7649531/57b8bcff-afe5-4ca4-887d-4eb303ef54bc/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!17432 个月前
im2col算子性能提升 Co-authored-by: 彭一鸣<pengyiming7@h-partners.com> # message auto-generated for no-merge-commit merge: !1561 merge im2col into master im2col算子性能提升 Created-by: pengyiming7 Commit-by: 彭一鸣 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> im2col算子性能提升 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/908 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 测试用例平均性能提升15% ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!15612 个月前
random conversion类 op_api重复目录整改 Co-authored-by: zhuzemao<zhuzemao1@h-partners.com> # message auto-generated for no-merge-commit merge: !1604 merge op_api_delete into master random conversion类 op_api重复目录整改 Created-by: zhuzemao Commit-by: zhuzemao Merged-by: cann-robot Description: ## 描述 random conversion类 op_api重复目录整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!16042 个月前
im2col偏移修正 Co-authored-by: pengyiming7<pengyiming7@h-partners.com> # message auto-generated for no-merge-commit merge: !2999 merge im2col_bugfix into master im2col偏移修正 Created-by: pengyiming7 Commit-by: pengyiming7 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> im2col偏移修正 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29993 天前
fix: im2col 左pad 较大时,极端场景下tiling计算buffer错误 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !1466 merge fix-im2col into master fix: im2col 左pad 较大时,极端场景下tiling计算buffer错误 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> fix: im2col 左pad 较大时,极端场景下tiling计算buffer错误 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/901 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!14662 个月前
Arch编码更新 Co-authored-by: liulinxiang<liulinxiang1@huawei.com> # message auto-generated for no-merge-commit merge: !992 merge master1 into master Arch编码更新 Created-by: liulinxiang Commit-by: liulinxiang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!9924 个月前
aidd_docs_fix Co-authored-by: jisongyuan@h-partners.com<jisongyuan@h-partners.com> # message auto-generated for no-merge-commit merge: !2239 merge masteraidddocsfix into master aidd_docs_fix Created-by: ji-songyuan Commit-by: jisongyuan@h-partners.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复aidd扫描文档中的错误 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#1263](https://gitcode.com/cann/ops-math/issues/1263) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 不涉及代码修改,只更新文档 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 大部分文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!22391 个月前
README.md

Im2col

产品支持情况

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

功能说明

  • 算子功能:图像到列,滑动局部窗口数据转为列向量,拼接为大张量。从批处理输入张量中提取滑动窗口。考虑一个形状为(N, C, H, W)或 (C, H, W) 的批处理input张量,其中N是批处理维度, C是通道维度, 而 H, W 表示图像大小,此操作将input的空间维度内的每个滑动kernel_size大小的块展平为(N, C ×∏\times \prod(kernel_size), L)的3-D 或 (C ×∏\times \prod(kernel_size), L)的2-D 的 output张量的列(即最后一维),而L是这些块的总数。
  • 计算公式: L=∏d⌊spatial_size[d]+2×padding[d]−dilation[d]×(kernel_size[d]−1)−1stride[d]+1⌋L = \prod_{d} \lfloor \frac{spatial\_size[d] + 2 \times padding[d] - dilation[d] \times (kernel\_size[d] -1) -1}{stride[d]} + 1 \rfloor, 其中spatial_size由上述input张量的H,W构成。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
self 输入张量 输入张量,shape为3维或4维。 INT8、UINT8、INT16、UINT16、INT32、UINT32、INT64、UINT64、BFLOAT16、FLOAT16、FLOAT、DOUBLE、BOOL、COMPLEX32、COMPLEX64 ND
kernelSize 输入数组 卷积核的大小,size为2,kernelSize[0]表示'H'方向,kernelSize[1]表示'W'方向。 INT64 -
dilation 输入数组 膨胀参数,size为2,dilation[0]表示'H'方向,dilation[1]表示'W'方向。 INT64 -
padding 输入数组 填充大小,size为2,padding[0]表示H方向,padding[1]表示W方向。 INT64 -
stride 输入数组 步长,size为2,stride[0]表示H方向,stride[1]表示W方向。 INT64 -
out 输出张量 输出张量,shape根据参数推导得出。 INT8、UINT8、INT16、UINT16、INT32、UINT32、INT64、UINT64、BFLOAT16、FLOAT16、FLOAT、DOUBLE、BOOL、COMPLEX32、COMPLEX64 ND
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品、Atlas A2 训练系列产品/Atlas A2 推理系列产品:仅支持FLOAT、FLOAT16、BFLOAT16。

约束说明

  • 输入张量的维度必须是3维或4维。
  • kernelSize、dilation、padding、stride的size必须为2。
  • kernelSize、dilation、stride的值必须大于0。
  • padding的值不能小于0。

调用说明

调用方式 样例代码 说明
aclnn调用 test_aclnn_im2col 通过aclnnIm2col接口方式调用Im2col算子。
图模式调用 test_geir_im2col 通过算子IR构图方式调用Im2col算子。