本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
新增Kirin smoke cpro任务 Co-authored-by: weixin_46515057<lidaoshuai@h-partners.com> # message auto-generated for no-merge-commit merge: !1400 merge kirin-test into master 新增Kirin smoke cpro任务 Created-by: weixin_46515057 Commit-by: weixin_46515057 Merged-by: cann-robot Description: 新增Kirin smoke cpro任务 See merge request: cann/ops-cv!1400 | 11 天前 | |
fix(ut): framework UT 目标补 empty.cpp 兜底源,修复 op 级构建 CMake 失败 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !1435 merge fix-ut-empty into master fix(ut): framework UT 目标补 empty.cpp 兜底源,修复 op 级构建 CMake 失败 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 MR !1414(commit 9c0fbc36)新增 framework UT 时,cmake/ut.cmake 的 framework 分支(330–349 行)未像 tiling/infershape 模块那样在算子不命中 ASCEND_OP_NAME 时提前 return(),而是无条件以零源创建 cv_op_framework_ut_cases_obj OBJECT 目标。在 op 级 PR 构建(build.sh -u -f pr_filelist.txt → ASCEND_OP_NAME=<改动算子>)下,common/tests/ut/framework/ 下 6 个 test_*_onnx_plugin.cpp 对应算子(affine_grid/npu_iou/npu_nms_with_mask/trans_argb/yolo_boxes_encode/yolox_bounding_box_decode)若均不匹配改动算子,则全部被过滤掉,目标零源,CMake 报: No SOURCES given to target: cv_op_framework_ut_cases_obj (cmake/ut.cmake:332) No SOURCES given to target: cv_op_framework_ut_cases (cmake/ut.cmake:123) CMake Generate step failed. ut_acc FAILED → 整条 PR-pipeline 失败。任何"改动算子不在上述 6 个 framework 测试算子集合内"的 PR 均被该回归阻塞(例如 PR !1430 改 upsample_nearest3d)。 修复:与 tiling(ut.cmake:48)/infershape(ut.cmake:84)对齐,给 framework 分支的 add_library 补 ${UT_PATH}/empty.cpp 兜底源(tests/ut/empty.cpp,仅版权头无符号)。目标恒有 ≥1 源,空过滤时编译空归档;下游 tests/ut/op_host/CMakeLists.txt:61 的 --whole-archive 无条件链接空归档不引入符号,无副作用。改动仅 1 行(+1/−1)。 ## 关联的Issue Issue #844 ## 测试 容器 复现 PR 级 op-scoped 构建(bash build.sh --ophost_test -f pr_filelist.txt -j16,pr_filelist 含 PR !1430 两个 upsample_nearest3d 文件 → ASCEND_OP_NAME=upsample_nearest3d): - **修复前**:CMake 配置阶段报 No SOURCES given to target: cv_op_framework_ut_cases_obj / _cases,构建失败(exit 1),与 CI PR-pipeline ut_acc FAILED 一致; - **修复后**:empty.cpp 编入 framework obj,libcv_op_framework_ut_cases.a 链接成功,cv_op_host_ut 构建+运行 8 tests from 2 test suites 全部 [ PASSED ](exit 0)。 ## 类型标签 - [x] 🐛 Bug修复 - [x] 📦 构建/CI ## AI/Agent 生成声明 代码来源: - [ ] 纯人工手写 - [x] AI 辅助编写 - [ ] AI 完全生成 See merge request: cann/ops-cv!1435 | 7 天前 | |
[CANNBot]新增Col2ImV2算子 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !1397 merge add_col2_im_v2 into master [CANNBot]新增Col2ImV2算子 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 950新增Col2ImV2算子 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/843 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1397 | 6 天前 | |
【CANNBOT】DeformableRoiPool算子支持950实现 Co-authored-by: surezz<zhangyuwei31@huawei.com> # message auto-generated for no-merge-commit merge: !1186 merge DeformableRoiPool into master 【CANNBOT】DeformableRoiPool算子支持950实现 Created-by: surezz Commit-by: surezz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 【CANNBOT】DeformableRoiPool算子支持950实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-cv/issues/655 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 300+用例测试,geir通路测试,david冒烟,二级冒烟已过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增DeformableRoiPool算子README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1186 | 6 天前 | |
feat: 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !1319 merge InferShape into master feat: 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/830 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [x] ❓ 其他,请描述:Unknown Shape/Unknown Rank适配 See merge request: cann/ops-cv!1319 | 6 天前 | |
feat: 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !1319 merge InferShape into master feat: 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/830 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [x] ❓ 其他,请描述:Unknown Shape/Unknown Rank适配 See merge request: cann/ops-cv!1319 | 6 天前 | |
feat: 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !1319 merge InferShape into master feat: 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/830 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [x] ❓ 其他,请描述:Unknown Shape/Unknown Rank适配 See merge request: cann/ops-cv!1319 | 6 天前 | |
feat: 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !1319 merge InferShape into master feat: 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 15个迁移算子适配unknown shape/rank InferShape并补UT及入口日志 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/830 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [x] ❓ 其他,请描述:Unknown Shape/Unknown Rank适配 See merge request: cann/ops-cv!1319 | 6 天前 | |
【CANNBOT】DeformableRoiPool算子支持950实现 Co-authored-by: surezz<zhangyuwei31@huawei.com> # message auto-generated for no-merge-commit merge: !1186 merge DeformableRoiPool into master 【CANNBOT】DeformableRoiPool算子支持950实现 Created-by: surezz Commit-by: surezz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 【CANNBOT】DeformableRoiPool算子支持950实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-cv/issues/655 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 300+用例测试,geir通路测试,david冒烟,二级冒烟已过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增DeformableRoiPool算子README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1186 | 6 天前 | |
onnx插件注册迁移ParseParamsByOperatorFn并新增framework UT Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !1414 merge onnx-fix into master onnx插件注册迁移ParseParamsByOperatorFn并新增framework UT Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ### 1. ONNX 插件解析器迁移 - 迁移6个onnx插件解析器: YoloBoxesEncode/AffineGrid/Iou/NMSWithMask/TransArgb/YoloxBoundingBoxDecode - 解析器签名由 const Message* op_src 改为 const ge::Operator& op_src - 属性解析由遍历 NodeProto::attribute() 改为读取 op_src.GetAttr("attribute") 的 JSON 解析 - 注册接口由 .ParseParamsFn(...) 迁移为 .ParseParamsByOperatorFn(...) ### 2. 公共工具头文件去重 - 新增 common/inc/framework/cv_plugin_util.h,收纳 GetOpName/ChangeFormatFromOnnx/StrToFloat - 文件名带 cv 前缀,避免不同 ops-* 算子仓头文件重名冲突 - 同步更新 onnx_common.h 及 4 个已迁移插件源的 include ### 3. framework UT 框架与用例 - cmake/ut.cmake 新增 framework ut 模块(${PKG_NAME}_op_framework_ut), tests/ut/op_host 接入 framework ut cases - UT 用例按算子拆分:一个算子对应一个 test_*_onnx_plugin.cpp 文件 (affine_grid / npu_iou / npu_nms_with_mask / trans_argb / yolox_bounding_box_decode / yolo_boxes_encode),共 15 个用例 ## 验证 - 容器内 cv_op_host_ut 构建+运行: 15 tests from 6 test suites, 全部 PASSED, RUN_EXIT=0 - bash build.sh --onnxplugin -j32 生产构建通过,产物 liboponnx_plugin_cv.so See merge request: cann/ops-cv!1414 | 8 天前 | |
feat: 迁移Yolo系列和TransArgb ONNX插件 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !1122 merge master into master feat: 迁移Yolo系列和TransArgb ONNX插件 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 将 Yolo 系列和 TransArgb ONNX 算子插件从内部仓库迁移至开源仓库,新增 7 个 ONNX 插件文件并更新算子注册头文件。 | 序号 | 算子 | 文件名 | 行数 | |------|------|--------|------| | 1 | TransArgb | trans_argb_onnx_plugin.cpp | 43 | | 2 | Yolo | yolo_onnx_plugin.cpp | 69 | | 3 | YoloBoxesEncode | yolo_boxes_encode_onnx_plugin.cpp | 51 | | 4 | YoloPreDetection | yolo_predetection_onnx_plugin.cpp | 75 | | 5 | YoloV3DetectionOutputV2 | yolov3_detection_output_v2_onnx_plugin.cpp | 108 | | 6 | YoloV5DetectionOutput | yolov5_detection_output_onnx_plugin.cpp | 114 | | 7 | YoloXBoundingBoxDecode | yolox_bounding_box_decode_onnx_plugin.cpp | 35 | ### 实现方式 每个插件文件通过 REGISTER_CUSTOM_OP 宏注册算子,实现 ONNX NodeProto 属性到 Ascend GE IR 的映射,注册为 FrameworkType(ONNX) + ImplyType(TVM)。 同时更新 op_cv_proto_extend.h 头文件中的算子注册声明,适配新的插件化架构。 ## 测试 - Yolo 系列 ONNX 模型推理兼容性验证 - TransArgb 颜色空间转换正确性验证 ## 类型标签 - [x] ✨ 新特性 ## 关联的Issue - #620 See merge request: cann/ops-cv!1122 | 1 个月前 | |
support pre commit function flow. Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !653 merge master_pre_commit into master support pre commit function flow. Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 support pre commit function flow. 添加 pre-commit 钩子,支持 OAT(Open Audit Tool)合规检查流程。 - 新增 pre-commit 配置,集成 OAT 合规检查 - OAT 脚本自动检测并安装 Java 21、Maven - 增量扫描 staged 文件的许可证头和二进制文件 - CRLF 行尾自动修复 - 自动将 oat_reports/ 和 log/ 加入 .gitignore ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/280 ## 测试 pre commit oat check等功能本地执行成功。 ## 文档更新 不涉及文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!653 | 5 个月前 | |
新增 TF plugin 编译机制 Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !1209 merge pr_837 into master 新增 TF plugin 编译机制 Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 新增 ops-cv TensorFlow plugin 编译机制: - 增加 optf_plugin_cv target 及 --tfplugin 独立构建入口。 - --pkg 内置包构建额外携带 liboptf_plugin_cv.so,对齐 ops-math/ops-nn 的 TF plugin 包装方式。 - TF plugin object target 使用生成的 ge_ir.proto header 初始化,并通过 common/src/framework/cv_stub_tf_plugin.cpp 保持目标可构建。 - 保留 add_tf_plugin_sources() 作为单算子目录显式接入入口。 - 暂不默认自动收集各算子目录下 framework/*_tf_plugin.cpp,因为 cv 仓现有部分 TF plugin 文件依赖非公开 GE 头文件;后续文件整改后可打开 ENABLE_AUTO_TF_PLUGIN_SOURCES。 ## 关联的Issue #706 ## 测试 已完成: - bash -n build.sh scripts/build_conf.sh scripts/build_options.sh scripts/build_lib.sh - bash build.sh --tfplugin --ccache=off - Built target optf_plugin_cv_obj - Built target optf_plugin_cv - 生成 build/liboptf_plugin_cv.so - 确认 stub 编译进 TF plugin object: - build/CMakeFiles/optf_plugin_cv_obj.dir/common/src/framework/cv_stub_tf_plugin.cpp.o - /home/developer/.local/bin/pre-commit run --files <本 PR 修改文件> 回归结论: - --tfplugin 独立构建通过。 - ENABLE_JIT 未参与 TF plugin 库目标选择,未改变现有 --jit 语义。 - ENABLE_TEST=TRUE、非 installed CANN package 场景下 TF plugin CMake 入口直接返回,不引入 UT 路径。 注意事项: - 其他现有 *_tf_plugin.cpp 若仍依赖非公开 GE 头文件,需要由对应组件后续整改后再纳入自动收集。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [x] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1209 | 1 个月前 | |
fix: Modify the AIDD docs issue Co-authored-by: zwj223<zhangwenjing55@h-partners.com> # message auto-generated for no-merge-commit merge: !1195 merge master into master fix: Modify the AIDD docs issue Created-by: zwj223 Commit-by: zwj223 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改AIDD扫描的核心资料问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#651](https://gitcode.com/cann/ops-cv/issues/651) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> op_list.md QUICKSTART.md broadcast关系.md 两段式接口.md aclnn返回码.md ... ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1195 | 1 个月前 | |
新增 TF plugin 编译机制 Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !1209 merge pr_837 into master 新增 TF plugin 编译机制 Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 新增 ops-cv TensorFlow plugin 编译机制: - 增加 optf_plugin_cv target 及 --tfplugin 独立构建入口。 - --pkg 内置包构建额外携带 liboptf_plugin_cv.so,对齐 ops-math/ops-nn 的 TF plugin 包装方式。 - TF plugin object target 使用生成的 ge_ir.proto header 初始化,并通过 common/src/framework/cv_stub_tf_plugin.cpp 保持目标可构建。 - 保留 add_tf_plugin_sources() 作为单算子目录显式接入入口。 - 暂不默认自动收集各算子目录下 framework/*_tf_plugin.cpp,因为 cv 仓现有部分 TF plugin 文件依赖非公开 GE 头文件;后续文件整改后可打开 ENABLE_AUTO_TF_PLUGIN_SOURCES。 ## 关联的Issue #706 ## 测试 已完成: - bash -n build.sh scripts/build_conf.sh scripts/build_options.sh scripts/build_lib.sh - bash build.sh --tfplugin --ccache=off - Built target optf_plugin_cv_obj - Built target optf_plugin_cv - 生成 build/liboptf_plugin_cv.so - 确认 stub 编译进 TF plugin object: - build/CMakeFiles/optf_plugin_cv_obj.dir/common/src/framework/cv_stub_tf_plugin.cpp.o - /home/developer/.local/bin/pre-commit run --files <本 PR 修改文件> 回归结论: - --tfplugin 独立构建通过。 - ENABLE_JIT 未参与 TF plugin 库目标选择,未改变现有 --jit 语义。 - ENABLE_TEST=TRUE、非 installed CANN package 场景下 TF plugin CMake 入口直接返回,不引入 UT 路径。 注意事项: - 其他现有 *_tf_plugin.cpp 若仍依赖非公开 GE 头文件,需要由对应组件后续整改后再纳入自动收集。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [x] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1209 | 1 个月前 | |
docs: 补充Tiling文件命名规范说明 Co-authored-by: ayuemoon<15802951036@163.com> # message auto-generated for no-merge-commit merge: !1237 merge docs/add-tiling-naming-convention into master docs: 补充Tiling文件命名规范说明 Created-by: ayuemoon Commit-by: ayuemoon Merged-by: cann-robot Description: ## 描述 补充算子 Tiling 文件命名规范说明: - 明确 op_host 目录下参与编译的 Tiling 实现文件,文件名须包含 _tiling 标识(如 ${op_name}_tiling.cpp、${op_name}_tiling_${sub_case}.cpp),否则不会被编译系统识别 - 针对子场景(如特定架构 arch35)拆分 Tiling 实现时,需遵循此命名规则 ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/708 ## 测试 纯文档变更,无需测试。 ## 文档更新 - CONTRIBUTING.md:算子目录结构章节新增子场景 Tiling 文件命名规则和交叉引用 - docs/zh/install/dir_structure.md:同步补充 Tiling 文件命名注意事项 ## 类型标签 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1237 | 30 天前 | |
init | 11 个月前 | |
【fix】: 修复precommit的oat检查抢资源问题 Co-authored-by: zhangfands<18768316492@163.com> # message auto-generated for no-merge-commit merge: !1052 merge zf1 into master 【fix】: 修复precommit的oat检查抢资源问题 Created-by: zhangfands Commit-by: zhangfands Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复precommit的oat检查抢资源问题 本次针对二个问题进修修复,文件抢资源、pip抢资源 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-cv/issues/566 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ops-cv/pull/1047 进行了测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1052 | 2 个月前 | |
cannsim改名为npusim Co-authored-by: liangbinglong<liangbinglong@huawei.com> # message auto-generated for no-merge-commit merge: !1241 merge master into master cannsim改名为npusim Created-by: liangbinglong Commit-by: liangbinglong Merged-by: cann-robot Description: ## 描述 经TSC评审,cannsim工具正式更名为npusim,相关命令行、资料同步刷新,cannsim作为别名兼容一段时间,需要尽快切换 ## 关联的Issue NA ## 测试 使用最新链接版本测试,相关命令行已经全部更名为npusim ## 文档更新 更新doc下面的调优部分文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1241 | 30 天前 | |
cann-cmake 依赖版本从 master-033 升级至 master-044 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !1156 merge master_033_modify_master_044 into master cann-cmake 依赖版本从 master-033 升级至 master-044 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 将 cann-cmake 依赖版本从 master-033 升级至 master-044,同步更新 CMake 配置、下载脚本及相关文档中的版本引用和 SHA256 校验值。 具体改动: - cmake/fetch_cann_cmake.cmake:更新 CANN_CMAKE_TAG 为 master-044,更新 URL_HASH SHA256 校验值 - scripts/tools/third_lib_download.py:更新 cmake 下载 URL 为 cmake-master-044.tar.gz - SECURITY.md:更新依赖表中的 cann-cmake 版本引用 - docs/zh/install/compile.md:更新编译依赖说明中的 cann-cmake 版本 ## 关联的Issue #638 ## 测试 根据代码变更,测试场景如下: 1. **编译构建测试** - 执行 cmake 配置和编译,验证 cann-cmake master-044 依赖包能正确下载并完成编译构建 - 验证 URL_HASH SHA256 校验值与 master-044 包匹配,FetchContent 下载校验通过 2. **第三方依赖下载测试** - 运行 scripts/tools/third_lib_download.py,验证 cmake-master-044.tar.gz 能从 OBS 正确下载 3. **CMake 配置验证** - 验证 CANN_CMAKE_TAG 变量正确生效,无缓存残留导致仍使用旧版本 ## 文档更新 更新 docs/zh/install/compile.md 中 cann-cmake 依赖版本说明,从 master-033 更新为 master-044。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [x] 🔧 配置变更 - [x] 📝 文档更新 - [x] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1156 | 1 个月前 | |
修改 makeself version声明与实际使用三方件版本一致 Co-authored-by: liukejin<liukejin@huawei.com> # message auto-generated for no-merge-commit merge: !408 merge tp_version into master 修改 makeself version声明与实际使用三方件版本一致 Created-by: liukejin Commit-by: liukejin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改 makeself version声明 修改点:版本号声明与使用版本号一致,增加补丁版本说明 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue [#133](https://gitcode.com/cann/ops-cv/issues/133) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 开源三方件引用声明,不需要测试,流水线通过即可 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!408 | 6 个月前 | |
add_example_aicpu修改 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !727 merge bubgix0415 into master add_example_aicpu修改 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本PR的具体修改内容如下: 1、修复add_example_aicpu的ut 2、ut说明中添加aicpu的kernel执行 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> issue [#321](https://gitcode.com/cann/ops-cv/issues/321) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> [2026-04-15 13:48:06] Run ops opkernel_aicpu utest [2026-04-15 13:48:06] [==========] Running 1 test from 1 test suite. [2026-04-15 13:48:06] [----------] Global test environment set-up. [2026-04-15 13:48:06] [----------] 1 test from TEST_AddExample_UT [2026-04-15 13:48:06] [ RUN ] TEST_AddExample_UT.INT32_VECTOR_ADD_SUCC [2026-04-15 13:48:06] [ OK ] TEST_AddExample_UT.INT32_VECTOR_ADD_SUCC (0 ms) [2026-04-15 13:48:06] [----------] 1 test from TEST_AddExample_UT (0 ms total) [2026-04-15 13:48:06] [2026-04-15 13:48:06] [----------] Global test environment tear-down [2026-04-15 13:48:06] [==========] 1 test from 1 test suite ran. (0 ms total) [2026-04-15 13:48:06] [ PASSED ] 1 test. [2026-04-15 13:48:06] [100%] Built target cv_aicpu_op_kernel_ut ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了docs/zh/install/compile.md ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!727 | 4 个月前 | |
refactor: 拆分build.sh为模块化脚本 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !1204 merge master_refactor_build into master refactor: 拆分build.sh为模块化脚本 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 将 build.sh(~1900行)按职责拆分为 8 个模块化脚本,提升可维护性和复用性。 ### 模块结构 | 文件 | 行数 | 职责 | |------|------|------| | build.sh | 12 | 入口:source 所有模块 | | scripts/build_conf.sh | 163 | 全局变量、路径、工具函数 | | scripts/build_options.sh | 973 | 选项解析、参数校验、帮助信息 | | scripts/build_cmake.sh | 147 | CMake 参数组装、项目初始化 | | scripts/build_lib.sh | 284 | 库构建、二进制构建、包构建 | | scripts/build_ut.sh | 33 | 单元测试构建 | | scripts/build_example.sh | 267 | 示例构建与运行 | | scripts/build_genop.sh | 72 | 算子代码生成 | | scripts/build_clean.sh | 41 | 构建清理 | ### 功能等价性 - 35 个函数全部迁移,逻辑未改动 - 命令行接口不变:所有 --xxx 参数行为一致 - 构建流程不变:cmake 参数、编译选项、包类型处理完全一致 ## 关联的Issue [#670](https://gitcode.com/cann/ops-cv/issues/670) ## 测试 所有拆分脚本后的函数测试,覆盖29个用例场景,全都PASS,仓库基本编译出包功能验证okay。 ## 文档更新 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1204 | 1 个月前 | |
refactor: 将 L0 接口迁移至对应主算子目录 Co-authored-by: hushenxi<shenxi780803@163.com> # message auto-generated for no-merge-commit merge: !1128 merge refactor/migrate-l0-wrappers into master refactor: 将 L0 接口迁移至对应主算子目录 Created-by: Hushenxi111 Commit-by: hushenxi Merged-by: cann-robot Description: ## 描述 将 L0 wrapper 接口从独立目录迁移至对应主算子目录,消除冗余的独立 L0 目录。 ## 关联的Issue #534 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1128 | 1 个月前 | |
fix: 完善三方依赖安装并修正文档错误 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !894 merge master into master fix: 完善三方依赖安装并修正文档错误 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 本次修复主要完善三方依赖安装、依赖下载地址与相关文档说明,提升离线/联网构建依赖准备的一致性,并修正文档中的格式和返回码问题。 主要改动如下: 1. 在 install_deps.sh 中新增 pkg-config 前置检查与安装流程,并在检查 googletest 时抑制 pkg-config 缺失场景下的无效错误输出。 2. 更新 json 三方依赖下载地址为 OBS json-3.11.3.tar.gz,同步更新 cann-cmake 至 master-016 及对应 SHA256,并补充三方库下载脚本中的 cmake 包下载项。 3. 修正 AICPU UT 公共工具头文件中 string 未限定命名空间的问题,补充 <string> 并使用 std::string。 4. 修正文档目录树、步骤编号、交付件分隔、注释错字以及 aclnn 返回码重复项等文档问题。 5. 清理 SECURITY.md 中过期的三方依赖脚本声明,补充当前实际使用的下载脚本和 cann-cmake 来源说明。 ## 关联的Issue 暂无关联 Issue。 ## 测试 已完成如下验证: 1. 执行 bash -n install_deps.sh,脚本语法检查通过。 2. 执行 python3 -m py_compile scripts/tools/third_lib_download.py,Python 脚本语法检查通过。 3. 使用 rg 检查旧 json 下载地址、cmake-master-014、裸 string node_def_str、gcc >= 7.3.0、文档错别字及过期 cmake/third_party/json.cmake 等旧模式,均未检出。 4. 执行 CRLF-aware git diff --check,空白字符检查通过。 未执行项:当前本地环境未安装 cmake,因此未执行 CMake 最小配置验证和 AICPU UT 编译验证。 ## 文档更新 更新了安装、编译、开发、调用、返回码、安全声明等相关文档,主要包括: - 安装文档补充 gcc/g++ >= 7.3.0 依赖说明。 - 编译文档更新 json 与 cann-cmake master-016 下载信息。 - 开发与调用文档修正格式、步骤编号和注释错误。 - 返回码文档修正废弃返回码项,避免与最新返回码重复。 - 安全声明文档清理过期三方依赖脚本路径并补充当前依赖来源。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [x] 🔧 配置变更 - [x] 📝 文档更新 - [x] ⬆️ 依赖升级 - [x] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!894 | 3 个月前 | |
【描 述】 前置依赖资料修改&&build.sh --help提示&&requirement.txt明确依赖版本 Co-authored-by: j00427146<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !774 merge cv_markdown into master 【描 述】 前置依赖资料修改&&build.sh --help提示&&requirement.txt明确依赖版本 Created-by: jialimin1 Commit-by: j00427146 Merged-by: cann-robot Description: ## 描述 1、手动安装,最小化环境依赖不清晰 资料调整 2、SOC 参数错误应更新 build.sh 支持列表并完善文档说明 3、requirement.txt Python 依赖冲突应显式声明版本约束与缺失依赖 4、修改QUICKSTART.md/quick_install.md中关于WebIDE的错误路径; 5、补充AddExample编译中--soc支持参数的说明; 6、更新AddExample编译成功后返回的提示信息。 ## 关联的Issue Issue #332 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!774 | 4 个月前 | |
chore: 更新 ops-cv 版本号至 9.2.0 Co-authored-by: hid29204727<wangboyu20@huawei.com> # message auto-generated for no-merge-commit merge: !1437 merge codex/version-9.20 into master chore: 更新 ops-cv 版本号至 9.2.0 Created-by: hid29204727 Commit-by: hid29204727 Merged-by: cann-robot Description: ## 描述 将 ops-cv 软件包版本号从 9.1.0 更新为 9.2.0,保持现有 set_cann_package 配置风格不变。 ## 关联的Issue 无。 ## 测试 - 已执行 git diff --check,检查通过。 - 本次仅修改版本元数据,未执行编译或运行时测试。 ## 文档更新 无。 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [x] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1437 | 6 天前 |
ops-cv
🔥Latest News
- [2026/01] 新增QuickStart,指导新手零基础入门算子项目部署(支持Docker环境)、算子开发和贡献流程。
- [2025/12] 开源算子支持Ascend 950PR/Ascend 950DT/KirinX90,可以通过NPU Simulator仿真工具开发调试;优化指南类文档,聚焦算子开发指南,明确最小交付件和关键示例代码,针对Ascend/samples仓算子提供迁移本项目的指导;新增onnx算子插件支持。
- [2025/11] three_interpolate_backward算子新增确定性计算特性;新增opgen支持自动生成算子工程。
- [2025/10] 新增experimental目录,完善贡献指南,支持开发者调试并贡献自定义算子。
- [2025/09] ops-cv项目首次上线,开源算子支持Atlas A2/A3系列产品。
🚀概述
ops-cv是CANN(Compute Architecture for Neural Networks)算子库中提供图像处理、目标检测等能力的高阶算子库,包括image类、objdetect类算子,覆盖常见的图像处理操作,子库在架构图中的位置如下。

📌版本配套
本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。
🛠️环境准备
环境部署是体验本项目能力的前提,请先完成NPU驱动、CANN包安装等,确保环境正常。
⬇️源码下载
环境准备好后,下载与CANN版本配套的分支源码,命令如下,${tag_version}替换为分支标签名。
说明:若环境中已存在配套分支源码,可跳过本步骤,例如CANNLab默认已提供最新版本CANN对应的源码。
# 通用命令:git clone -b ${tag_version} https://gitcode.com/cann/ops-cv.git
git clone -b ${tag_version} https://gitcode.com/cann/ops-cv.git
说明:若环境中已存在配套分支源码,可跳过本步骤,例如CANNLab默认已提供最新版本CANN对应的源码。
📖学习教程
💬相关信息
PS:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。