| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
bounding_box_decode Co-authored-by: wow5522<wuao1@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master bounding_box_decode Created-by: wow5523 Commit-by: wow5522 Merged-by: cann-robot Description: ## 描述 本 PR 新增了 bounding_box_decode 算子(目标检测边界框解码)的完整实现,覆盖 ascend950 架构。改动包括算子定义与注册、shape/dtype 推理、host 侧 tiling 切分逻辑、kernel 端解码计算,以及配套的 golden 脚本和单元测试。核心解码流程为:根据 rois(anchor box)计算宽高与中心,结合 deltas 反标准化得到 dx/dy/dw/dh,再通过 gw/gh/gx/gy 计算并裁剪出 bboxes,支持 fp32 与 fp16 两种数据类型以及空张量场景。 主要改动 1)算子定义与注册: 在 bounding_box_decode_def.cpp 中新增 BoundingBoxDecode 算子定义,声明 rois、deltas 两个输入和 bboxes 输出(支持 DT_FLOAT16/DT_FLOAT、FORMAT_ND),并定义 means、stds、max_shape、wh_ratio_clip 属性及 ascend950 的 AICore 配置。 Shape 与 Dtype 推理: 新增 InferShapeForBoundingBoxDecode 和 InferDataTypeForBoundingBoxDecode,输出形状与输入保持一致([N, 4]),校验 rank 为 2、最后一维为 4、两输入形状/类型一致,并支持未知 rank 与空张量(N=0)场景。 2)Host 侧 Tiling 逻辑: 新增 TilingFunc 及 BoundingBoxDecodePreCheck/ComputeMultiCoreSplit/ComputeUbSplit 等逻辑,完成多核按 box 数切分、UB 按 256B 对齐切分、异常校验、属性透传,以及基于 dtype 的 TilingKey 设置与空张量分支处理。 3)Kernel 端解码实现: 新增 BoundingBoxDecodeKernel 及多个 __simd_vf__ 向量函数(AnchorPreVF、DeltaDeStdVF、DecodeGwGxVF、BoxClipVF),实现 anchor 预处理、delta 反标准化、exp 解码与裁剪,fp32 路径使用自定义 Cody-Waite+Taylor 高精度 exp,fp16 路径使用 NPU 硬件 Reg::Exp。 4)测试与参考实现: 新增 golden.py 提供 torch 参考实现与容差配置,并新增 tiling 单元测试(覆盖 fp32/fp16、空张量、多核、非法 shape/dtype 等场景)、infershape 单元测试,以及一个 ge 运行示例。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/754 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1307 | 1 天前 | |
修复日志质量扫描发现不合理日志 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !1297 merge master_log_fix into master 修复日志质量扫描发现不合理日志 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: Closes #750 ## 描述 修复日志质量扫描发现的不合理日志,统一日志风格和代码格式。共 44 个文件,均为非功能性修改。 ### 修复类型 | 类型 | 示例 | 文件数 | |------|------|--------| | 日志文案规范化 | "set tiling data error" → "Failed to set tiling data" | 20+ | | 日志换行修复 | 字符串中嵌入 \n 的多行日志 → 单行 | 3 | | 代码格式对齐 | clang-format 缩进/换行统一 | 15+ | | License 头标准化 | HIT OpenBOAT 头 → 标准 CANN License 头 | 2 | | 多余空行清理 | 连续 2 个空行 → 1 个 | 2 | ### 涉及文件(按模块) | 模块 | 文件数 | |------|--------| | experimental/image | 4 | | experimental/objdetect | 1 | | image/ 各算子 tiling | 20+ | | image/ aicpu kernel | 4 | | objdetect/ | 8 | | common/ | 2 | | examples/ | 1 | ### 功能影响 纯日志文案和代码格式修改,无任何逻辑变更。 ## 关联的Issue ## 测试 ## 文档更新 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1297 | 4 天前 | |
修复日志质量扫描发现不合理日志 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !1297 merge master_log_fix into master 修复日志质量扫描发现不合理日志 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: Closes #750 ## 描述 修复日志质量扫描发现的不合理日志,统一日志风格和代码格式。共 44 个文件,均为非功能性修改。 ### 修复类型 | 类型 | 示例 | 文件数 | |------|------|--------| | 日志文案规范化 | "set tiling data error" → "Failed to set tiling data" | 20+ | | 日志换行修复 | 字符串中嵌入 \n 的多行日志 → 单行 | 3 | | 代码格式对齐 | clang-format 缩进/换行统一 | 15+ | | License 头标准化 | HIT OpenBOAT 头 → 标准 CANN License 头 | 2 | | 多余空行清理 | 连续 2 个空行 → 1 个 | 2 | ### 涉及文件(按模块) | 模块 | 文件数 | |------|--------| | experimental/image | 4 | | experimental/objdetect | 1 | | image/ 各算子 tiling | 20+ | | image/ aicpu kernel | 4 | | objdetect/ | 8 | | common/ | 2 | | examples/ | 1 | ### 功能影响 纯日志文案和代码格式修改,无任何逻辑变更。 ## 关联的Issue ## 测试 ## 文档更新 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1297 | 4 天前 | |
common目录结构调整 Co-authored-by: qiang_zq<qiang.zhangqiang@huawei.com> # message auto-generated for no-merge-commit merge: !330 merge common-dir-adjust into master common目录结构调整 Created-by: qiang_zq Commit-by: qiang_zq Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> common目录按照规范调整目录结构: src tiling_base -> op_host inc tiling_base -> op_host common -> op_api ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-cv/issues/99 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> bash build.sh --pkg  bash build.sh -u     bash build.sh --run_example grid_sample eager  ==================================== FINAL SUMMARY ==================================== kirinx90 : FAILED (build error) ascend950 : OK (132 .o) ascend910 : SKIPPED (.o) ascend310b : OK (3 .o) ascend310p : OK (25 .o) ascend910b : OK (81 .o) STATIC_BUILD : OK (cann-910b-ops-cv_9.0.0_linux-x86_64.run, cann-910b-ops-cv-static_9.0.0_linux-x86_64.tar.gz) mc62cm12a : OK (cann-mc62cm12a-ops-cv_9.0.0_linux-x86_64.run) ascend910b_install_check : OK (install/uninstall clean) ==================================== [ALL DONE] ==================================== 黄区编译  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-cv!330 | 5 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 5 个月前 |