| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(log): 按 CANN 日志规范修正日志语法 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !1345 merge fix/log-message-quality into master fix(log): 按 CANN 日志规范修正日志语法 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 依据《CANN 日志规范》修正 全仓 下的运行时日志文案,共 **383 处**:语法错误 294、拼写错误 49、错误描述不完整 37、级别错配 3。 - 拼写:Plsease → Please、bug got → but got、shoule → should、Lanuch → Launch、unkown → unknown、determinstic → deterministic、isHalfPiex → isHalfPixel - 日志里用行尾反斜杠续行,续行前的十几个缩进空格会原样进入日志文案,改为相邻字符串字面量拼接 - 级别错配(3 处):infershape 入口 trace 用 OP_LOGE,降为 OP_LOGI;aclnn_ciou / aclnn_iou 中校验失败 return false 的分支用 OP_LOGI,升为 OP_LOGE(ACLNN_ERR_PARAM_INVALID, ...) - 描述不完整:OP_LOGE_FOR_INVALID_VALUE 的“当前值”位置传的是条件表达式字符串,改为传实际取值;input format is not support, but input format is %d 实参误传 inputDtype,改为 inputFormat - resize_nearest_neighbor_v2_tiling_base.cpp 中 scaleH:%f 用了中文全角冒号,改为半角 修改边界:**只改日志格式串及其实参,不改动任何控制流、返回值和业务逻辑**。 部分行因文案变长按 120 列做了折行。 ## 关联的Issue 关联Issue #783 ## 测试 对本 PR 触及的 99 个文件做了**改前/改后逐文件编译对照** (g++ -fsyntax-only -std=c++17,同一套 include,比较两版诊断集合): - **72 个文件改后干净通过**; - **27 个文件两版同样失败**(环境缺少构建期生成头/未安装的依赖,与本改动无关); - **仅改后失败:0 个** —— 本 PR 未引入任何编译问题。 (更早一轮在昇腾环境(CANN 9.1.0,aarch64)上做过同样对照,当时为 50/50,结论一致; 本轮改在本地 CANN 8.5.0-beta.1 / x86_64 执行,可完整编译的文件更多。) 该编译对照在 canndev 同批改动中实际拦下过 1 处缺陷(模板特化误用模板参数), 说明这层校验不是走过场。 另外脚本化全量校验(覆盖本 PR 全部改动文件): 1. **占位符/实参一致性**:解析每个日志调用的格式串与实参列表,比对改前/改后 占位符数 - 实参数,必须一致;新增实参处要求严格相等。 2. **结构不变**:改前/改后花括号、分号数量完全一致,圆括号/方括号自平衡。 3. **规范复扫**:改动行不含非 ASCII,"禁止中文""内部敏感词"零命中;同类缺陷模式复扫残留 0 处。 4. **行宽**:新增/修改行均不超过 120 列。 注:本仓 host 侧日志宏(OP_LOGE / OP_LOGI 等)最终落到不带 format 属性的接口上, GCC 的 -Wformat 对其无效,格式串与实参的类型匹配依赖上述第 1 项的脚本核对。 但 op_kernel_aicpu 下的 KERNEL_LOG_* 在 RUN_TEST 构建中直接展开为 printf, **是受 -Wformat 检查的** —— 本 PR 据此修正了 scale_and_translate_aicpu.cpp:87 用 %d 打印 int64_t 的 NumElements()(改前该行在 UT 构建下会报 -Werror=format=)。 建议门禁补充完整编译 + 相关模块 UT/ST 冒烟。 ## 文档更新 无,不涉及对外接口与文档。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1345 | 1 个月前 | |
fix: 修正多个算子文档与示例代码中的描述/数据错误 Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !1385 merge fix/docs-examples-corrections into master fix: 修正多个算子文档与示例代码中的描述/数据错误 Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修正多个算子的文档(md)与示例代码(examples)中的描述/数据错误,使文档与代码保持一致、示例可正确运行。改动仅涉及文档描述与示例代码,不影响算子逻辑。 具体改动: - **image/col2im**: aclnnIm2colBackward.md 中 inputSize 参数描述由“输入张量的形状”补充为“输入张量的空间尺寸,即[H, W]”。 - **image/three_interpolate_backward**:aclnnThreeInterpolateBackward.md 示例中 gradYHostData 由单元素 {0} 修正为按 bs*cs*ms 长度初始化。 - **objdetect/background_replace**(docs + example):修正示例 tensor shape({4,2} → {4,2,1})与 host 数据元素个数(9 → 8)不一致问题。 - **objdetect/blend_images_custom**(docs + example):示例 host 数据类型由 float 修正为 uint8_t,与 ACL_UINT8 张量类型一致。 - **objdetect/roi_align_grad**(docs + example):文档输出参数名 out 修正为 gradInput;示例修正 CHECK_RET 多余分号 return ret;; → return ret)。 - **objdetect/roi_pooling_grad_with_arg_max**(docs + arch35 example):修正打印文案 mean result → result、元素数注释 2048 → 128、误用的 API 名 aclnnAddExample → aclnnRoiPoolingGradWithArgMax、示例步骤编号 5/7/8/9 → 7/8/9/10。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue #814(Close #814) https://gitcode.com/cann/ops-cv/issues/814 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 改动仅涉及文档描述与示例代码,不涉及算子 host/kernel 逻辑,不影响算子功能与精度,无需算子泛化测试。示例代码改动点(shape、数据类型、注释)已人工核对与算子接口定义一致。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了以下 6 个算子的 API 文档(md): - image/col2im/docs/aclnnIm2colBackward.md - image/three_interpolate_backward/docs/aclnnThreeInterpolateBackward.md - objdetect/background_replace/docs/aclnnBackgroundReplace.md - objdetect/blend_images_custom/docs/aclnnBlendImagesCustom.md - objdetect/roi_align_grad/docs/aclnnRoiAlignV2Backward.md - objdetect/roi_pooling_grad_with_arg_max/docs/aclnnRoiPoolingGradWithArgMax.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1385 | 1 个月前 | |
fix(batch_multi_class_nms): 修复Ascend950 GEIR多batch问题 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !1346 merge fix_batch_multi_class_nms_bugs into master fix(batch_multi_class_nms): 修复Ascend950 GEIR多batch问题 Created-by: Huang-Peng Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1346 | 1 个月前 | |
fix: 修正多个算子文档与示例代码中的描述/数据错误 Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !1385 merge fix/docs-examples-corrections into master fix: 修正多个算子文档与示例代码中的描述/数据错误 Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修正多个算子的文档(md)与示例代码(examples)中的描述/数据错误,使文档与代码保持一致、示例可正确运行。改动仅涉及文档描述与示例代码,不影响算子逻辑。 具体改动: - **image/col2im**: aclnnIm2colBackward.md 中 inputSize 参数描述由“输入张量的形状”补充为“输入张量的空间尺寸,即[H, W]”。 - **image/three_interpolate_backward**:aclnnThreeInterpolateBackward.md 示例中 gradYHostData 由单元素 {0} 修正为按 bs*cs*ms 长度初始化。 - **objdetect/background_replace**(docs + example):修正示例 tensor shape({4,2} → {4,2,1})与 host 数据元素个数(9 → 8)不一致问题。 - **objdetect/blend_images_custom**(docs + example):示例 host 数据类型由 float 修正为 uint8_t,与 ACL_UINT8 张量类型一致。 - **objdetect/roi_align_grad**(docs + example):文档输出参数名 out 修正为 gradInput;示例修正 CHECK_RET 多余分号 return ret;; → return ret)。 - **objdetect/roi_pooling_grad_with_arg_max**(docs + arch35 example):修正打印文案 mean result → result、元素数注释 2048 → 128、误用的 API 名 aclnnAddExample → aclnnRoiPoolingGradWithArgMax、示例步骤编号 5/7/8/9 → 7/8/9/10。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue #814(Close #814) https://gitcode.com/cann/ops-cv/issues/814 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 改动仅涉及文档描述与示例代码,不涉及算子 host/kernel 逻辑,不影响算子功能与精度,无需算子泛化测试。示例代码改动点(shape、数据类型、注释)已人工核对与算子接口定义一致。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了以下 6 个算子的 API 文档(md): - image/col2im/docs/aclnnIm2colBackward.md - image/three_interpolate_backward/docs/aclnnThreeInterpolateBackward.md - objdetect/background_replace/docs/aclnnBackgroundReplace.md - objdetect/blend_images_custom/docs/aclnnBlendImagesCustom.md - objdetect/roi_align_grad/docs/aclnnRoiAlignV2Backward.md - objdetect/roi_pooling_grad_with_arg_max/docs/aclnnRoiPoolingGradWithArgMax.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1385 | 1 个月前 | |
objdetect image cleancode整改 Co-authored-by: zhuzemao<zhuzemao1@h-partners.com> # message auto-generated for no-merge-commit merge: !1383 merge clean_code_cv into master objdetect image cleancode整改 Created-by: zhuzemao Commit-by: zhuzemao Merged-by: cann-robot Description: ## 描述 objdetect image cleancode整改 ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/812 ## 测试 不涉及 ## 文档更新 无。此次变更未修改算子接口或用户文档。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [x] ❓ 其他,请描述:cleancode整改 See merge request: cann/ops-cv!1383 | 1 个月前 | |
fix(log): 按 CANN 日志规范修正日志语法 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !1345 merge fix/log-message-quality into master fix(log): 按 CANN 日志规范修正日志语法 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 依据《CANN 日志规范》修正 全仓 下的运行时日志文案,共 **383 处**:语法错误 294、拼写错误 49、错误描述不完整 37、级别错配 3。 - 拼写:Plsease → Please、bug got → but got、shoule → should、Lanuch → Launch、unkown → unknown、determinstic → deterministic、isHalfPiex → isHalfPixel - 日志里用行尾反斜杠续行,续行前的十几个缩进空格会原样进入日志文案,改为相邻字符串字面量拼接 - 级别错配(3 处):infershape 入口 trace 用 OP_LOGE,降为 OP_LOGI;aclnn_ciou / aclnn_iou 中校验失败 return false 的分支用 OP_LOGI,升为 OP_LOGE(ACLNN_ERR_PARAM_INVALID, ...) - 描述不完整:OP_LOGE_FOR_INVALID_VALUE 的“当前值”位置传的是条件表达式字符串,改为传实际取值;input format is not support, but input format is %d 实参误传 inputDtype,改为 inputFormat - resize_nearest_neighbor_v2_tiling_base.cpp 中 scaleH:%f 用了中文全角冒号,改为半角 修改边界:**只改日志格式串及其实参,不改动任何控制流、返回值和业务逻辑**。 部分行因文案变长按 120 列做了折行。 ## 关联的Issue 关联Issue #783 ## 测试 对本 PR 触及的 99 个文件做了**改前/改后逐文件编译对照** (g++ -fsyntax-only -std=c++17,同一套 include,比较两版诊断集合): - **72 个文件改后干净通过**; - **27 个文件两版同样失败**(环境缺少构建期生成头/未安装的依赖,与本改动无关); - **仅改后失败:0 个** —— 本 PR 未引入任何编译问题。 (更早一轮在昇腾环境(CANN 9.1.0,aarch64)上做过同样对照,当时为 50/50,结论一致; 本轮改在本地 CANN 8.5.0-beta.1 / x86_64 执行,可完整编译的文件更多。) 该编译对照在 canndev 同批改动中实际拦下过 1 处缺陷(模板特化误用模板参数), 说明这层校验不是走过场。 另外脚本化全量校验(覆盖本 PR 全部改动文件): 1. **占位符/实参一致性**:解析每个日志调用的格式串与实参列表,比对改前/改后 占位符数 - 实参数,必须一致;新增实参处要求严格相等。 2. **结构不变**:改前/改后花括号、分号数量完全一致,圆括号/方括号自平衡。 3. **规范复扫**:改动行不含非 ASCII,"禁止中文""内部敏感词"零命中;同类缺陷模式复扫残留 0 处。 4. **行宽**:新增/修改行均不超过 120 列。 注:本仓 host 侧日志宏(OP_LOGE / OP_LOGI 等)最终落到不带 format 属性的接口上, GCC 的 -Wformat 对其无效,格式串与实参的类型匹配依赖上述第 1 项的脚本核对。 但 op_kernel_aicpu 下的 KERNEL_LOG_* 在 RUN_TEST 构建中直接展开为 printf, **是受 -Wformat 检查的** —— 本 PR 据此修正了 scale_and_translate_aicpu.cpp:87 用 %d 打印 int64_t 的 NumElements()(改前该行在 UT 构建下会报 -Werror=format=)。 建议门禁补充完整编译 + 相关模块 UT/ST 冒烟。 ## 文档更新 无,不涉及对外接口与文档。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1345 | 1 个月前 | |
check_valid 支持Ascend950 Co-authored-by: wow5522<wuao1@huawei.com> # message auto-generated for no-merge-commit merge: !1342 merge master into master check_valid 支持Ascend950 Created-by: wow5523 Commit-by: wow5522 Merged-by: cann-robot Description: ## 描述 将 CheckValid 算子从公共注册文件 common/inc/op_graph/op_cv_proto_extend.h 中移除,并在 objdetect/check_valid/ 下新建独立的算子模块,补齐该算子对 Ascend950(arch35)平台的支持:包含算子原型定义、host 侧 shape/数据类型推导与 tiling 计算、kernel 实现,以及配套的 UT 单测、golden 交叉比对脚本和 GE IR 运行示例。 主要改动 - **算子定义迁移**: 删除 common/inc/op_graph/op_cv_proto_extend.h 中 CheckValid 的 REG_OP 注册,改为新增 objdetect/check_valid/op_graph/check_valid_proto.h,输入输出签名保持不变(bbox_tensor、img_metas 输入支持 DT_FLOAT16/DT_FLOAT,valid_tensor 输出为 DT_INT8)。 - **Ascend950 适配**: op_host/check_valid_def.cpp 通过 OpDef 声明输入输出为 FORMAT_ND 格式并为 ascend950 添加 AICore 配置;op_host/arch35/check_valid_tiling_arch35.cpp 实现基于 gert::TilingContext 的 TilingFunc,根据 UB 大小与可用核数计算分块参数(tile_n、num_tiles、num_cores 等)并设置 blockDim。 - **推导逻辑**: op_host/check_valid_infershape.cpp 实现 shape 推导,校验 bbox_tensor 为二维且最后一维为 4,输出形状为 (N, 1)(空张量与未知 rank 场景均有处理);op_graph/check_valid_graph_infer.cpp 通过 InferDataType 固定输出数据类型为 DT_INT8。 - **Kernel 实现**: op_kernel/check_valid_apt.cpp 与 op_kernel/arch35/check_valid_kernel.h 实现核心计算,读取 img_metas 前三个值 (H, W, r) 计算有效边界(W*r-1、H*r-1),通过 x0>=0、y0>=0、x1<=img_width_x、y1<=img_height_y 的组合判断输出有效性标记,并对 fp16 与 fp32 分别走类型分支、对空张量 (N==0) 走独立分支。 - **测试与示例**: 新增 tiling 单测 tests/ut/op_host/arch35/test_check_valid_tiling.cpp(覆盖 fp32/fp16、空张量、多核、非法 rank/dtype 等场景)、infershape 单测 tests/ut/op_host/test_check_valid_infershape.cpp、基于 torch 拼接实现的 golden 交叉比对脚本 tests/assets/golden.py,以及 GE IR 运行示例 examples/arch35/test_geir_check_valid.cpp。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/777 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1342 | 2 个月前 | |
fix(log): 按 CANN 日志规范修正日志语法 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !1345 merge fix/log-message-quality into master fix(log): 按 CANN 日志规范修正日志语法 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 依据《CANN 日志规范》修正 全仓 下的运行时日志文案,共 **383 处**:语法错误 294、拼写错误 49、错误描述不完整 37、级别错配 3。 - 拼写:Plsease → Please、bug got → but got、shoule → should、Lanuch → Launch、unkown → unknown、determinstic → deterministic、isHalfPiex → isHalfPixel - 日志里用行尾反斜杠续行,续行前的十几个缩进空格会原样进入日志文案,改为相邻字符串字面量拼接 - 级别错配(3 处):infershape 入口 trace 用 OP_LOGE,降为 OP_LOGI;aclnn_ciou / aclnn_iou 中校验失败 return false 的分支用 OP_LOGI,升为 OP_LOGE(ACLNN_ERR_PARAM_INVALID, ...) - 描述不完整:OP_LOGE_FOR_INVALID_VALUE 的“当前值”位置传的是条件表达式字符串,改为传实际取值;input format is not support, but input format is %d 实参误传 inputDtype,改为 inputFormat - resize_nearest_neighbor_v2_tiling_base.cpp 中 scaleH:%f 用了中文全角冒号,改为半角 修改边界:**只改日志格式串及其实参,不改动任何控制流、返回值和业务逻辑**。 部分行因文案变长按 120 列做了折行。 ## 关联的Issue 关联Issue #783 ## 测试 对本 PR 触及的 99 个文件做了**改前/改后逐文件编译对照** (g++ -fsyntax-only -std=c++17,同一套 include,比较两版诊断集合): - **72 个文件改后干净通过**; - **27 个文件两版同样失败**(环境缺少构建期生成头/未安装的依赖,与本改动无关); - **仅改后失败:0 个** —— 本 PR 未引入任何编译问题。 (更早一轮在昇腾环境(CANN 9.1.0,aarch64)上做过同样对照,当时为 50/50,结论一致; 本轮改在本地 CANN 8.5.0-beta.1 / x86_64 执行,可完整编译的文件更多。) 该编译对照在 canndev 同批改动中实际拦下过 1 处缺陷(模板特化误用模板参数), 说明这层校验不是走过场。 另外脚本化全量校验(覆盖本 PR 全部改动文件): 1. **占位符/实参一致性**:解析每个日志调用的格式串与实参列表,比对改前/改后 占位符数 - 实参数,必须一致;新增实参处要求严格相等。 2. **结构不变**:改前/改后花括号、分号数量完全一致,圆括号/方括号自平衡。 3. **规范复扫**:改动行不含非 ASCII,"禁止中文""内部敏感词"零命中;同类缺陷模式复扫残留 0 处。 4. **行宽**:新增/修改行均不超过 120 列。 注:本仓 host 侧日志宏(OP_LOGE / OP_LOGI 等)最终落到不带 format 属性的接口上, GCC 的 -Wformat 对其无效,格式串与实参的类型匹配依赖上述第 1 项的脚本核对。 但 op_kernel_aicpu 下的 KERNEL_LOG_* 在 RUN_TEST 构建中直接展开为 printf, **是受 -Wformat 检查的** —— 本 PR 据此修正了 scale_and_translate_aicpu.cpp:87 用 %d 打印 int64_t 的 NumElements()(改前该行在 UT 构建下会报 -Werror=format=)。 建议门禁补充完整编译 + 相关模块 UT/ST 冒烟。 ## 文档更新 无,不涉及对外接口与文档。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1345 | 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 | 2 个月前 | |
decode_bbox_v2 支持Ascend950 Co-authored-by: wow5522<wuao1@huawei.com> # message auto-generated for no-merge-commit merge: !1351 merge master into master decode_bbox_v2 支持Ascend950 Created-by: wow5523 Commit-by: wow5522 Merged-by: cann-robot Description: ## 描述 本 PR 为 decode_bbox_v2 算子新增 Ascend950(ascend950)平台支持,将该算子的算子原型注册从 common/inc/op_graph/op_cv_proto_extend.h 迁移至 objdetect/decode_bbox_v2 目录下的独立 proto 头文件,并补齐 host 侧算子定义、shape/数据类型推断、tiling 逻辑,kernel 侧 DecodeBboxV2Kernel 计算实现,以及配套的 golden 脚本和单测用例。 主要改动 - 算子原型注册迁移:从 common/inc/op_graph/op_cv_proto_extend.h 中删除 REG_OP(DecodeBboxV2) 定义,在新增的 objdetect/decode_bbox_v2/op_graph/decode_bbox_v2_proto.h 中重新注册,保持 boxes/anchors 输入、y 输出及 scales/decode_clip/reversed_box 属性定义不变。 - Host 侧算子定义与推断:新增 decode_bbox_v2_def.cpp,定义 DecodeBboxV2 : OpDef 并通过 AddConfig("ascend950", ...) 注册 AICore 配置;新增 InferShapeForDecodeBboxV2(校验 rank==2、shape 一致并透传输出 shape,支持空 tensor 与未知 rank)和 InferDataTypeForDecodeBboxV2(要求两输入 dtype 一致并透传输出 dtype)。 - Tiling 实现:新增 decode_bbox_v2_tiling_arch35.cpp,TilingFuncDecodeBboxV2 执行 dtype/format/rank/attr/shape 校验、UB 划分(ComputeUbSplit)与多核划分(ComputeMultiCoreSplit),依据 reversed_box 设置 tiling key(F4N/N4)并填充 DecodeBboxV2TilingData。 - Kernel 实现:新增 decode_bbox_v2_kernel.h,DecodeBboxV2Kernel 支持 N4/F4N 两种布局;FP32 直接向量计算,FP16 先经 CastInVF 转 FP32 计算后再 CastOutVF 转回,解码公式包含 decode_clip 裁剪、exp、中心点与角点计算;入口函数 decode_bbox_v2 位于 decode_bbox_v2_apt.cpp。 - 测试与示例:新增 tests/assets/golden.py(基于 torch 的解码公式参考实现)、tiling 单测(正常/空 shape/reversed_box/非法输入用例)与 infershape 单测,以及 examples/arch35/test_geir_decode_bbox_v2.cpp GEIR 运行示例。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/790 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1351 | 1 个月前 | |
objdetect image cleancode整改 Co-authored-by: zhuzemao<zhuzemao1@h-partners.com> # message auto-generated for no-merge-commit merge: !1383 merge clean_code_cv into master objdetect image cleancode整改 Created-by: zhuzemao Commit-by: zhuzemao Merged-by: cann-robot Description: ## 描述 objdetect image cleancode整改 ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/812 ## 测试 不涉及 ## 文档更新 无。此次变更未修改算子接口或用户文档。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [x] ❓ 其他,请描述:cleancode整改 See merge request: cann/ops-cv!1383 | 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 | 2 个月前 | |
[Fix] 校验 IouV2 Host 输入 rank 和坐标维 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !1370 merge fix/2026-08-23-ops-cv-iou-v2-shape-contract-01 into master [Fix] 校验 IouV2 Host 输入 rank 和坐标维 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: ## 修复摘要 在 IouV2 的 Host InferShape 和 Tiling 入口统一增加输入 shape 合约校验:两个输入必须为 二维张量,InferShape 按 aligned 检查坐标维为 4,Tiling 对 aligned=true 保持第 0 维 为 4,并对 aligned=false 兼容现有 [4,N] 和公开接口 [N,4] 两种布局。非法 rank 或坐标维不为 4 时返回 GRAPH_FAILED,不再生成错误的输出 shape 或 tiling 数据。 同时补充 InferShape 和 Tiling 的非法 rank/坐标维回归测试。 ## 变更范围 - objdetect/iou_v2/op_host/iou_v2_infershape.cpp:增加二维、坐标维和 aligned 属性校验。 - objdetect/iou_v2/op_host/iou_v2_tiling.cpp:在计算 box 数量前增加 shape 校验,并复用已读取的 aligned 属性。 - objdetect/iou_v2/tests/ut/op_host/test_iou_v2_infershape.cpp:新增非法坐标维、非法 rank 的失败测试。 - objdetect/iou_v2/tests/ut/op_host/test_iou_v2_tiling.cpp:新增非法坐标维、非法 rank 的失败测试。 ## 测试结果 - cmake --build build --target cv_op_host_ut -- -j2:退出码 0。 - BUILD_PATH=<build> ./build/tests/ut/op_host/cv_op_host_ut --gtest_filter='IouV2.*':4/4 通过,退出码 0。 - BUILD_PATH=<build> ./build/tests/ut/op_host/cv_op_host_ut --gtest_filter='IouV2Tiling.*':6/6 通过,退出码 0。 - 合法对照、三种非对齐 dtype、aligned BF16 和新增非法输入均覆盖;验证环境 CANN 9.1.0 与目标源码开发线存在版本边界,未执行匹配 NPU 运行。 ## 关联的 Issue - https://gitcode.com/cann/ops-cv/issues/798 ## Patch 来源 - 基线 commit:902202c68246f41b0efa06a3a3a849b426c5d372 - Patch 文件:fix.patch - Patch SHA-256:4423277b7da391b19278b2ee287da4419822896998c0216b82884c05c38a0714 See merge request: cann/ops-cv!1370 | 1 个月前 | |
modified md files (Add product filter tags to aclnn*.md in the cv repository) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !1152 merge master into master modified md files (Add product filter tags to aclnn*.md in the cv repository) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 Add product filter tags to aclnn*.md in the cv repository. ## 关联的Issue [#637](https://gitcode.com/cann/ops-cv/issues/637) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 aclnn*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1152 | 2 个月前 | |
fix(log): 按 CANN 日志规范修正日志语法 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !1345 merge fix/log-message-quality into master fix(log): 按 CANN 日志规范修正日志语法 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 依据《CANN 日志规范》修正 全仓 下的运行时日志文案,共 **383 处**:语法错误 294、拼写错误 49、错误描述不完整 37、级别错配 3。 - 拼写:Plsease → Please、bug got → but got、shoule → should、Lanuch → Launch、unkown → unknown、determinstic → deterministic、isHalfPiex → isHalfPixel - 日志里用行尾反斜杠续行,续行前的十几个缩进空格会原样进入日志文案,改为相邻字符串字面量拼接 - 级别错配(3 处):infershape 入口 trace 用 OP_LOGE,降为 OP_LOGI;aclnn_ciou / aclnn_iou 中校验失败 return false 的分支用 OP_LOGI,升为 OP_LOGE(ACLNN_ERR_PARAM_INVALID, ...) - 描述不完整:OP_LOGE_FOR_INVALID_VALUE 的“当前值”位置传的是条件表达式字符串,改为传实际取值;input format is not support, but input format is %d 实参误传 inputDtype,改为 inputFormat - resize_nearest_neighbor_v2_tiling_base.cpp 中 scaleH:%f 用了中文全角冒号,改为半角 修改边界:**只改日志格式串及其实参,不改动任何控制流、返回值和业务逻辑**。 部分行因文案变长按 120 列做了折行。 ## 关联的Issue 关联Issue #783 ## 测试 对本 PR 触及的 99 个文件做了**改前/改后逐文件编译对照** (g++ -fsyntax-only -std=c++17,同一套 include,比较两版诊断集合): - **72 个文件改后干净通过**; - **27 个文件两版同样失败**(环境缺少构建期生成头/未安装的依赖,与本改动无关); - **仅改后失败:0 个** —— 本 PR 未引入任何编译问题。 (更早一轮在昇腾环境(CANN 9.1.0,aarch64)上做过同样对照,当时为 50/50,结论一致; 本轮改在本地 CANN 8.5.0-beta.1 / x86_64 执行,可完整编译的文件更多。) 该编译对照在 canndev 同批改动中实际拦下过 1 处缺陷(模板特化误用模板参数), 说明这层校验不是走过场。 另外脚本化全量校验(覆盖本 PR 全部改动文件): 1. **占位符/实参一致性**:解析每个日志调用的格式串与实参列表,比对改前/改后 占位符数 - 实参数,必须一致;新增实参处要求严格相等。 2. **结构不变**:改前/改后花括号、分号数量完全一致,圆括号/方括号自平衡。 3. **规范复扫**:改动行不含非 ASCII,"禁止中文""内部敏感词"零命中;同类缺陷模式复扫残留 0 处。 4. **行宽**:新增/修改行均不超过 120 列。 注:本仓 host 侧日志宏(OP_LOGE / OP_LOGI 等)最终落到不带 format 属性的接口上, GCC 的 -Wformat 对其无效,格式串与实参的类型匹配依赖上述第 1 项的脚本核对。 但 op_kernel_aicpu 下的 KERNEL_LOG_* 在 RUN_TEST 构建中直接展开为 printf, **是受 -Wformat 检查的** —— 本 PR 据此修正了 scale_and_translate_aicpu.cpp:87 用 %d 打印 int64_t 的 NumElements()(改前该行在 UT 构建下会报 -Werror=format=)。 建议门禁补充完整编译 + 相关模块 UT/ST 冒烟。 ## 文档更新 无,不涉及对外接口与文档。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1345 | 1 个月前 | |
修复NonMaxSuppressionV7 910_93下UT执行问题 Co-authored-by: wuxiyuan<wuxiyuan@huawei.com> # message auto-generated for no-merge-commit merge: !1410 merge master into master 修复NonMaxSuppressionV7 910_93下UT执行问题 Created-by: wuxiyuan Commit-by: wuxiyuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 NonMaxSuppressionV7 算子在 910_93环境下单元测试(UT)无法正常执行的问题,该算子的tiling架构仅支持Ascend 950架构。 主要改动: - 补齐 910_93 平台下 UT 构建所需的 CMake 配置项(如 soc_version 适配、测试目标添加等) - 修正 op_host 层 UT 构建脚本中与 910_93 不兼容的配置(+16/-2,含覆盖式修正) 改动范围限定于测试构建配置,不涉及算子 kernel/host 逻辑代码变更,属于局部修复。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-cv/issues/828 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已完成本地验证。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1410 | 1 个月前 | |
fix(log): 按 CANN 日志规范修正日志语法 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !1345 merge fix/log-message-quality into master fix(log): 按 CANN 日志规范修正日志语法 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 依据《CANN 日志规范》修正 全仓 下的运行时日志文案,共 **383 处**:语法错误 294、拼写错误 49、错误描述不完整 37、级别错配 3。 - 拼写:Plsease → Please、bug got → but got、shoule → should、Lanuch → Launch、unkown → unknown、determinstic → deterministic、isHalfPiex → isHalfPixel - 日志里用行尾反斜杠续行,续行前的十几个缩进空格会原样进入日志文案,改为相邻字符串字面量拼接 - 级别错配(3 处):infershape 入口 trace 用 OP_LOGE,降为 OP_LOGI;aclnn_ciou / aclnn_iou 中校验失败 return false 的分支用 OP_LOGI,升为 OP_LOGE(ACLNN_ERR_PARAM_INVALID, ...) - 描述不完整:OP_LOGE_FOR_INVALID_VALUE 的“当前值”位置传的是条件表达式字符串,改为传实际取值;input format is not support, but input format is %d 实参误传 inputDtype,改为 inputFormat - resize_nearest_neighbor_v2_tiling_base.cpp 中 scaleH:%f 用了中文全角冒号,改为半角 修改边界:**只改日志格式串及其实参,不改动任何控制流、返回值和业务逻辑**。 部分行因文案变长按 120 列做了折行。 ## 关联的Issue 关联Issue #783 ## 测试 对本 PR 触及的 99 个文件做了**改前/改后逐文件编译对照** (g++ -fsyntax-only -std=c++17,同一套 include,比较两版诊断集合): - **72 个文件改后干净通过**; - **27 个文件两版同样失败**(环境缺少构建期生成头/未安装的依赖,与本改动无关); - **仅改后失败:0 个** —— 本 PR 未引入任何编译问题。 (更早一轮在昇腾环境(CANN 9.1.0,aarch64)上做过同样对照,当时为 50/50,结论一致; 本轮改在本地 CANN 8.5.0-beta.1 / x86_64 执行,可完整编译的文件更多。) 该编译对照在 canndev 同批改动中实际拦下过 1 处缺陷(模板特化误用模板参数), 说明这层校验不是走过场。 另外脚本化全量校验(覆盖本 PR 全部改动文件): 1. **占位符/实参一致性**:解析每个日志调用的格式串与实参列表,比对改前/改后 占位符数 - 实参数,必须一致;新增实参处要求严格相等。 2. **结构不变**:改前/改后花括号、分号数量完全一致,圆括号/方括号自平衡。 3. **规范复扫**:改动行不含非 ASCII,"禁止中文""内部敏感词"零命中;同类缺陷模式复扫残留 0 处。 4. **行宽**:新增/修改行均不超过 120 列。 注:本仓 host 侧日志宏(OP_LOGE / OP_LOGI 等)最终落到不带 format 属性的接口上, GCC 的 -Wformat 对其无效,格式串与实参的类型匹配依赖上述第 1 项的脚本核对。 但 op_kernel_aicpu 下的 KERNEL_LOG_* 在 RUN_TEST 构建中直接展开为 printf, **是受 -Wformat 检查的** —— 本 PR 据此修正了 scale_and_translate_aicpu.cpp:87 用 %d 打印 int64_t 的 NumElements()(改前该行在 UT 构建下会报 -Werror=format=)。 建议门禁补充完整编译 + 相关模块 UT/ST 冒烟。 ## 文档更新 无,不涉及对外接口与文档。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1345 | 1 个月前 | |
fix: 修正多个算子文档与示例代码中的描述/数据错误 Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !1385 merge fix/docs-examples-corrections into master fix: 修正多个算子文档与示例代码中的描述/数据错误 Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修正多个算子的文档(md)与示例代码(examples)中的描述/数据错误,使文档与代码保持一致、示例可正确运行。改动仅涉及文档描述与示例代码,不影响算子逻辑。 具体改动: - **image/col2im**: aclnnIm2colBackward.md 中 inputSize 参数描述由“输入张量的形状”补充为“输入张量的空间尺寸,即[H, W]”。 - **image/three_interpolate_backward**:aclnnThreeInterpolateBackward.md 示例中 gradYHostData 由单元素 {0} 修正为按 bs*cs*ms 长度初始化。 - **objdetect/background_replace**(docs + example):修正示例 tensor shape({4,2} → {4,2,1})与 host 数据元素个数(9 → 8)不一致问题。 - **objdetect/blend_images_custom**(docs + example):示例 host 数据类型由 float 修正为 uint8_t,与 ACL_UINT8 张量类型一致。 - **objdetect/roi_align_grad**(docs + example):文档输出参数名 out 修正为 gradInput;示例修正 CHECK_RET 多余分号 return ret;; → return ret)。 - **objdetect/roi_pooling_grad_with_arg_max**(docs + arch35 example):修正打印文案 mean result → result、元素数注释 2048 → 128、误用的 API 名 aclnnAddExample → aclnnRoiPoolingGradWithArgMax、示例步骤编号 5/7/8/9 → 7/8/9/10。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue #814(Close #814) https://gitcode.com/cann/ops-cv/issues/814 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 改动仅涉及文档描述与示例代码,不涉及算子 host/kernel 逻辑,不影响算子功能与精度,无需算子泛化测试。示例代码改动点(shape、数据类型、注释)已人工核对与算子接口定义一致。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了以下 6 个算子的 API 文档(md): - image/col2im/docs/aclnnIm2colBackward.md - image/three_interpolate_backward/docs/aclnnThreeInterpolateBackward.md - objdetect/background_replace/docs/aclnnBackgroundReplace.md - objdetect/blend_images_custom/docs/aclnnBlendImagesCustom.md - objdetect/roi_align_grad/docs/aclnnRoiAlignV2Backward.md - objdetect/roi_pooling_grad_with_arg_max/docs/aclnnRoiPoolingGradWithArgMax.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1385 | 1 个月前 | |
[Fix] 拒绝 RoiAlignRotated 的非法 x rank Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !1368 merge fix/2026-08-23-ops-cv-roi-rotated-rank-01 into master [Fix] 拒绝 RoiAlignRotated 的非法 x rank Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: ## 修复摘要 RoiAlignRotated 的 README 约定输入 x 为 [N,C,W,H] 四维 Tensor,但 Host infer-shape 和 tiling 入口没有先校验 rank。rank-1 输入会继续读取不存在的维度, 生成错误输出 shape 和 tiling 配置。 本次修复在 objdetect/roi_align_rotated/op_host/roi_align_rotated_infershape.cpp 和 objdetect/roi_align_rotated/op_host/roi_align_rotated_tiling.cpp 读取 x 的 固定维度前增加 4D rank 校验,非法输入返回失败状态。同步在现有 Host UT 中增加 infer-shape 和 tiling 非法 rank 回归测试,并保留合法输入对照。 ## 变更范围 - objdetect/roi_align_rotated/op_host/roi_align_rotated_infershape.cpp:增加 x rank 校验。 - objdetect/roi_align_rotated/op_host/roi_align_rotated_tiling.cpp:增加 x storage shape rank 校验。 - objdetect/roi_align_rotated/tests/ut/op_host/test_RoiAlignRotated_infershape.cpp 和 test_roi_align_rotated_tiling.cpp:增加非法 rank 回归用例。 合法 4D x 和既有 [n,6] rois 的行为保持不变;不满足输入契约的 x 会在 Host 入口更早返回失败,不再读取不存在的维度或生成 tiling 数据。 ## 测试结果 - 构建:env ASCEND_INSTALL_PATH=<CANN Toolkit 安装路径> bash build.sh --ophost_test --noexec --ops=roi_align_rotated --soc=ascend910b -j2,退出码为 0。 - 定向 Host UT:RoiAlignRotated.*:TilingForRoiAlignRotated.*,4/4 通过,退出码 为 0。 - 合法 x=[4,8,8,1]、rois=[6,8] 对照保持成功;非法 rank-1 x=[4] 在 infer-shape 和 tiling 均被拒绝。 - 测试使用 CANN 9.1.0 Toolkit;目标源码为固定开发线,未执行匹配版本的 NPU 运行。 ## 关联的 Issue - https://gitcode.com/cann/ops-cv/issues/796 ## Patch 来源 - 基线 commit:902202c68246f41b0efa06a3a3a849b426c5d372 - Patch 文件:fix.patch - Patch SHA-256:cdb7ca3beb351f10cbdd7a121568112d0f4f9f086980dd0896679a97c1d41cc0 See merge request: cann/ops-cv!1368 | 1 个月前 | |
日志文案中英文zero统一替换为数字0 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !1312 merge refactor/log-zero-to-0 into master 日志文案中英文zero统一替换为数字0 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 将日志文案中的英文 zero 统一替换为数字 0,消除中英文混用。纯文案修改,无任何逻辑变更。 ### 替换类型 | 类型 | 示例 | 处数 | |------|------|------| | 比较类 | "greater than zero" → "greater than 0" | 14 | | 状态类 | "is zero" → "is 0" | 8 | | 大小类 | "small than zero" → "small than 0" | 3 | | 组合类 | "zero or negative" → "0 or negative" | 1 | | ASSERT 消息 | "Block dim can not be zero!" → "...be 0!" | 5 | ### 涉及文件 | 模块 | 文件数 | |------|--------| | common/inc/op_api | 1 | | image/ 各算子 tiling | 19 | | image/col2im aclnn | 1 | | objdetect/ 各算子 | 5 | 共 26 个文件。ASSERT 条件本身(GetBlockNum() != 0 等)未改动,仅字符串字面量变化。 ## 关联的Issue [#769](https://gitcode.com/cann/ops-cv/issues/769) ## 测试 已通过相关测试。 ## 文档更新 不涉及文档更新。 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1312 | 1 个月前 | |
[CANNBot]ROIPooling算子支持Ascend950 Co-authored-by: m0_46386992<wanghongbin19@huawei.com> # message auto-generated for no-merge-commit merge: !1244 merge add_roi_pooling_v2 into master [CANNBot]ROIPooling算子支持Ascend950 Created-by: m0_46386992 Commit-by: m0_46386992 Merged-by: cann-robot Description: ## 算子简介 RoiPooling(Region of Interest Pooling)算子,用于目标检测任务中对 ROI 区域进行固定大小的最大值池化。 ## 初始提交 新增 ROIPooling 算子,支持 Ascend950 SIMT 架构。 ### 验证结果 - TTK 黑盒通过率: 99.0% (203/205) - TTK 白盒通过率: 100% - TTK 网络用例通过率: 100% - golden numpy vs torchvision: max_diff=0.0 - 本地编译: PASS - 二级冒烟通过 See merge request: cann/ops-cv!1244 | 2 个月前 | |
fix(log): 按 CANN 日志规范修正日志语法 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !1345 merge fix/log-message-quality into master fix(log): 按 CANN 日志规范修正日志语法 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 依据《CANN 日志规范》修正 全仓 下的运行时日志文案,共 **383 处**:语法错误 294、拼写错误 49、错误描述不完整 37、级别错配 3。 - 拼写:Plsease → Please、bug got → but got、shoule → should、Lanuch → Launch、unkown → unknown、determinstic → deterministic、isHalfPiex → isHalfPixel - 日志里用行尾反斜杠续行,续行前的十几个缩进空格会原样进入日志文案,改为相邻字符串字面量拼接 - 级别错配(3 处):infershape 入口 trace 用 OP_LOGE,降为 OP_LOGI;aclnn_ciou / aclnn_iou 中校验失败 return false 的分支用 OP_LOGI,升为 OP_LOGE(ACLNN_ERR_PARAM_INVALID, ...) - 描述不完整:OP_LOGE_FOR_INVALID_VALUE 的“当前值”位置传的是条件表达式字符串,改为传实际取值;input format is not support, but input format is %d 实参误传 inputDtype,改为 inputFormat - resize_nearest_neighbor_v2_tiling_base.cpp 中 scaleH:%f 用了中文全角冒号,改为半角 修改边界:**只改日志格式串及其实参,不改动任何控制流、返回值和业务逻辑**。 部分行因文案变长按 120 列做了折行。 ## 关联的Issue 关联Issue #783 ## 测试 对本 PR 触及的 99 个文件做了**改前/改后逐文件编译对照** (g++ -fsyntax-only -std=c++17,同一套 include,比较两版诊断集合): - **72 个文件改后干净通过**; - **27 个文件两版同样失败**(环境缺少构建期生成头/未安装的依赖,与本改动无关); - **仅改后失败:0 个** —— 本 PR 未引入任何编译问题。 (更早一轮在昇腾环境(CANN 9.1.0,aarch64)上做过同样对照,当时为 50/50,结论一致; 本轮改在本地 CANN 8.5.0-beta.1 / x86_64 执行,可完整编译的文件更多。) 该编译对照在 canndev 同批改动中实际拦下过 1 处缺陷(模板特化误用模板参数), 说明这层校验不是走过场。 另外脚本化全量校验(覆盖本 PR 全部改动文件): 1. **占位符/实参一致性**:解析每个日志调用的格式串与实参列表,比对改前/改后 占位符数 - 实参数,必须一致;新增实参处要求严格相等。 2. **结构不变**:改前/改后花括号、分号数量完全一致,圆括号/方括号自平衡。 3. **规范复扫**:改动行不含非 ASCII,"禁止中文""内部敏感词"零命中;同类缺陷模式复扫残留 0 处。 4. **行宽**:新增/修改行均不超过 120 列。 注:本仓 host 侧日志宏(OP_LOGE / OP_LOGI 等)最终落到不带 format 属性的接口上, GCC 的 -Wformat 对其无效,格式串与实参的类型匹配依赖上述第 1 项的脚本核对。 但 op_kernel_aicpu 下的 KERNEL_LOG_* 在 RUN_TEST 构建中直接展开为 printf, **是受 -Wformat 检查的** —— 本 PR 据此修正了 scale_and_translate_aicpu.cpp:87 用 %d 打印 int64_t 的 NumElements()(改前该行在 UT 构建下会报 -Werror=format=)。 建议门禁补充完整编译 + 相关模块 UT/ST 冒烟。 ## 文档更新 无,不涉及对外接口与文档。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1345 | 1 个月前 | |
[Fix] RoiPoolingWithArgMax InferShape 校验 rois 第二维 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !1372 merge fix/roi-pooling-rois-shape into master [Fix] RoiPoolingWithArgMax InferShape 校验 rois 第二维 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: ## 修复摘要 RoiPoolingWithArgMax 的公开约束规定 rois 为二维张量且第二维为 5,但 Host InferShape 只校验 rank 和第 0 维上限,导致非法 [2,6] 输入在 InferShape 阶段 返回成功,晚于 Tiling 阶段才被拒绝。修复在已知 rois.shape[1] 不为 5 时返回 GRAPH_FAILED,并增加 [2,4]、[2,6] 的回归覆盖。 ## 变更范围 修改 objdetect/roi_pooling_with_arg_max/op_host/roi_pooling_with_arg_max_infershape.cpp 和 objdetect/roi_pooling_with_arg_max/tests/ut/op_host/test_roi_pooling_with_arg_max_infershape.cpp。 动态未知第二维继续保留原有语义;合法 [2,5] 行为不变;不修改 kernel、Tiling 实现或 ABI。 ## 测试结果 在固定源码副本中执行: text bash build.sh --ophost_test --noexec --ops=roi_pooling_with_arg_max --soc=ascend950 -j2 BUILD_PATH=build build/tests/ut/op_host/cv_op_host_ut --gtest_filter='RoiPoolingWithArgMax.*:TilingForRoiPoolingWithArgMax.*' --gtest_repeat=5 构建和运行退出码均为 0;每轮 4 个测试,连续 5 轮全部通过。验证限定为固定 源码的 Host InferShape/Tiling 行为。验证环境 Toolkit/OPP 为 9.1.0,目标源码为 9.2.0-beta.2,未执行匹配版本 NPU 端到端运行。 ## 关联的 Issue - https://gitcode.com/cann/ops-cv/issues/800 ## Patch 来源 - 基线 commit:902202c68246f41b0efa06a3a3a849b426c5d372 - Patch 文件:fix.patch - Patch SHA-256:0cca70398d58ec06e7f56caa6cb68aa840a60df8b1ca6c9db0cacf87687bef7e See merge request: cann/ops-cv!1372 | 1 个月前 | |
rotated_box_decode ops dev for ascend950 Co-authored-by: zhoulong50_hw<zhoulong50@huawei.com> # message auto-generated for no-merge-commit merge: !1355 merge rotated_box_decode into master rotated_box_decode ops dev for ascend950 Created-by: zhoulong50_hw Commit-by: zhoulong50_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 描述 本 PR 为 Ascend 950(arch35)新增 RotatedBoxDecode(旋转框解码)算子的完整开发链路,覆盖算子定义与注册、图编译期 shape/dtype 推断、主机侧 tiling、设备侧 kernel 及配套测试与示例。 #### 算子功能 RotatedBoxDecode 是旋转目标检测中的框回归解码算子,将网络预测的偏移量 deltas 叠加到预设锚框 anchor_box 上,还原出最终的旋转检测框,为 RotatedBoxEncode 的逆运算。 - 输入:anchor_box (B, 5, N)(5 = [lx, ly, rx, ry, angle],角度单位为度)、deltas (B, 5, N)(5 = [dx, dy, dw, dh, dt]),支持 FP16/FP32、FORMAT_ND - 输出:y (B, 5, N)(5 = [lx', ly', rx', ry', θ_t]),shape/dtype 与 anchor_box 一致 - 可选属性:weight [wx, wy, ww, wh, wt](ListFloat,默认 [1, 1, 1, 1, 1]),deltas 各通道分别除以对应权重归一化 计算流程:锚框角点转中心 → delta 归一化 → 解中心/宽高/角度(角度在 tan 空间相加再 atan,主值区间 [-90°, 90°),宽高 max(·, 1) 夹下限)→ 中心转角点。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-cv/issues/788 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟,泛化用例 230 条 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增算子 README.md docs/zh/op_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1355 | 1 个月前 | |
[CANNBot]新增rotated_box_encode算子 Co-authored-by: h1234515<huangzhiyuan21@huawei.com> # message auto-generated for no-merge-commit merge: !1352 merge rotated_box_encode into master [CANNBot]新增rotated_box_encode算子 Created-by: h1234515 Commit-by: h1234515 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 为 Ascend 950(arch35)新增 **RotatedBoxEncode**(旋转框编码)算子的完整开发链路,覆盖算子定义与注册、图编译期 shape/dtype 推断、主机侧 tiling、设备侧 kernel 及配套测试与示例。同时清理了 common/inc/op_graph/op_cv_proto_extend.h 中的旧版 REG_OP 声明(迁移至算子专属 rotated_box_encode_proto.h),并在 docs/zh/op_list.md 中登记算子条目。 ## 算子功能 RotatedBoxEncode 是旋转目标检测训练阶段的框回归编码算子,将参考旋转框(anchor_box)与对应的 ground-truth 旋转框(gt_box)之间的几何偏差编码为 5 通道回归 delta 目标 (dx, dy, dw, dh, dθ)。 - **输入**:anchor_box (B, 5, N)(5 = [x0, y0, x1, y1, θ_deg],角点形式,角度单位为度)、gt_box (B, 5, N)(同结构),支持 FP16/FP32、FORMAT_ND - **输出**:y (B, 5, N)(5 = [dx, dy, dw, dh, dθ]),shape/dtype 与 anchor_box 一致(恒等映射,无广播) - **可选属性**:weight [wx, wy, ww, wh, wa](ListFloat,默认 [1, 1, 1, 1, 1]),各通道 delta 分别乘以对应权重 - **计算流程**:锚框/_gt 角点转中心(宽高 max(·, 1.0) 夹下限防退化)→ 计算 dx=(cx_g−cx_a)/w_a·wx、dy=(cy_g−cy_a)/h_a·wy、dw=(ln(w_g)−ln(w_a))·ww、dh=(ln(h_g)−ln(h_a))·wh、dθ=(tan(θ_g)−tan(θ_a))·wa。FP16 输入在内部升精度到 FP32 完成对数、三角与除法计算后再回写 FP16。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-cv/issues/818 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟,ttk测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1352 | 1 个月前 | |
修复RotatedOverlaps算子CMake UT未隔离问题 Co-authored-by: wuxiyuan<wuxiyuan@huawei.com> # message auto-generated for no-merge-commit merge: !1413 merge master into master 修复RotatedOverlaps算子CMake UT未隔离问题 Created-by: wuxiyuan Commit-by: wuxiyuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 RotatedOverlaps 算子在 910_93环境下单元测试(UT)无法正常执行的问题,该算子的tiling架构仅支持Ascend 950架构。 主要改动: - 补齐 910_93 平台下 UT 构建所需的 CMake 配置项(如 soc_version 适配、测试目标添加等) - 修正 op_host 层 UT 构建脚本中与 910_93 不兼容的配置(+16/-2,含覆盖式修正) 改动范围限定于测试构建配置,不涉及算子 kernel/host 逻辑代码变更,属于局部修复。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-cv/issues/832 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已完成本地验证。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1413 | 1 个月前 | |
SortedNMS 算子文档修正 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !1250 merge master into master SortedNMS 算子文档修正 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 1 修正 SortedNMS 算子文档产品标签 2 补齐 SortedNMS/CombinedNonMaxSuppresssion/BatchMultiClassNonMaxSuppresssion README.md 在op_list.md的链接 ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/711 ## 测试 不涉及 ## 文档更新 1 更新了 objdetect/sorted_nms/README.md 2 更新了 docs/zh/op_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1250 | 2 个月前 | |
fix stack_group_points 头文件名重复 Co-authored-by: wang-shilong32<wangshilong23@huawei.com> # message auto-generated for no-merge-commit merge: !1420 merge fix_stack_points_doubleh into master fix stack_group_points 头文件名重复 Created-by: wang-shilong32 Commit-by: wang-shilong32 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改 stack_group_points 头文件命名重复。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-cv/issues/836 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地出包验证,冒烟测试。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1420 | 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 | 2 个月前 | |
fix: 修复Yolo算子原型重复定义及op_graph未注册问题 Co-authored-by: wkkk0528<wangkai578@huawei.com> # message auto-generated for no-merge-commit merge: !1390 merge fix/yolo-proto-registration into master fix: 修复Yolo算子原型重复定义及op_graph未注册问题 Created-by: wkkk0528 Commit-by: wkkk0528 Merged-by: cann-robot Description: ## 描述 objdetect/yolo 算子的 Yolo 原型未被编进包内,而 common/inc/op_graph/op_cv_proto_extend.h 中存在一份重复的 REG_OP(Yolo) 被编入,导致算子目录下的原型未生效。 修复: - 删除 op_cv_proto_extend.h 中重复的 REG_OP(Yolo); - 新增 objdetect/yolo/op_graph/CMakeLists.txt(add_op_graph_sources())。 ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/822 ## 测试 已通过算子编译,冒烟,用例测试 ## 文档更新 无 ## 类型标签 - [x] Bug修复 See merge request: cann/ops-cv!1390 | 1 个月前 | |
[CANNBot SIMT]新增YoloxBoundingBoxDecode算子 Co-authored-by: u010470851<shangguanqinnan@huawei.com> # message auto-generated for no-merge-commit merge: !1289 merge add_yoloxboundingboxdecode into master [CANNBot SIMT]新增YoloxBoundingBoxDecode算子 Created-by: u010470851 Commit-by: u010470851 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增YoloxBoundingBoxDecode算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联的Issue https://gitcode.com/cann/ops-cv/issues/789 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已跑泛化测试,冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1289 | 1 个月前 | |
add some new operators features Co-authored-by: liukejin<liukejin@huawei.com> # message auto-generated for no-merge-commit merge: !90 merge merge_ops into master add some new operators features Created-by: liukejin Commit-by: liukejin Merged-by: cann-robot Description: ## 描述 add some new operators features. ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-cv!90 | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 9 个月前 |