| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: add YOLOv13 object detection sample based on ACL interface Co-authored-by: cao qiancheng<220255669@seu.edu.cn> # message auto-generated for no-merge-commit merge: !3978 merge feat/yolov13-sample into develop feat: add YOLOv13 object detection sample based on ACL interface Created-by: sunsummercqc Commit-by: cao qiancheng Merged-by: cann-robot Description: # Pull Request ## 描述 基于 ACL 离线推理接口,新增 YOLOv13 目标检测样例( examples/acl/5_sample_yolov13/), 展示如何将 YOLOv13 ONNX 模型转换为 OM 离线模型并在昇腾 NPU 上执行推理。 包含: - 图片预处理脚本(letterbox 缩放 + 归一化) - ACL 推理 + YOLO 输出解析 + NMS 后处理 - 检测结果可视化脚本 - 中英文 README 文档 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 将 YOLOv13 ONNX 模型转换为 OM 模型: atc --model=yolov13n.onnx --framework=5 --output=yolov13 --soc_version=xxx --input_shape="images:1,3,640,640" --output_type=FP32 2. 准备测试图片并预处理: cd data && wget https://raw.githubusercontent.com/iMoonLab/yolov13/main/ultralytics/assets/bus.jpg python3 ../scripts/preprocess.py 3. 编译运行: cd scripts && bash build.sh && bash run.sh 4. 预期输出:打印检测到的目标类别、置信度和 bbox 坐标 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 模型权重来自 iMoonLab/yolov13,测试图片来自其 ultralytics/assets/ 目录。 See merge request: cann/ge!3978 | 2 天前 | |
【PR】:rename user-guides Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !3814 merge develop into develop 【PR】:rename user-guides Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 重命名docs目录下的user-guides为user_guides。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 根据最新目录进行测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3814 | 18 天前 | |
fix: 非主线包补充 custom_op_runtime 并收束 Python runtime 生命周期 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4035 merge op into develop fix: 非主线包补充 custom_op_runtime 并收束 Python runtime 生命周期 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 - 非主线包安装列表补充 custom_op_runtime,确保 Python 自定义算子运行时组件随包交付。 - 样例 README 同步补充 toolkit/ops 包安装和环境变量设置前置条件,明确 run 包编译 Python 版本需与执行版本一致。 - 清理 GeExecutor::Initialize() 和 GeGenerator::Initialize() 中对进程级 Python runtime 的重复初始化/析构职责,避免 executor/generator 层额外持有 EnsureReady()/ShutdownProcess() guard。acl 离线运行支持python自定义算子场景后续分析。 - ATC 侧将 GePythonRuntimeManager 生命周期收束到 api/atc/main_impl.cc::main_impl():raw options 加载成功后统一 EnsureReady(),并通过入口作用域 guard 在 ATC 退出时统一 ShutdownProcess()。 - ATC 子路径继续只负责各自资源:PrepareOmGeneration() / GenerateSingleOp() / ConvertModelToJson() 保留 custom op 加载或清理,GenerateModel() 保留 GELib 和 GeGenerator 的初始化/释放,不再分散管理 Python runtime。 GeGenerator::Initialize() 调用侧 GePythonRuntimeManager::EnsureReady() 覆盖链路说明 - ATC 总入口:main_impl() -> LoadRawOptionsForAtc() -> GePythonRuntimeManager::Instance().EnsureReady() -> 注册 release_python_runtime guard -> CheckGlobalOptionsBeforeRun() -> RunAtcByMode(raw_options)。因此 ATC 后续所有模式都处于同一个入口级 Python runtime 生命周期内。 - ACL graph build 初始化:aclgrphBuildInitialize() -> EnsureReady() + LoadCustomOps() + LoadPassPlugins();后续 aclgrphBuildModel() / aclgrphBundleBuildModel() 进入 Impl::BuildModel() -> Impl::Init() -> generator_.Initialize(),依赖先 initialize 后 build 的接口生命周期契约。 - ACL 单算子本地编译:aclopCompile() / aclopCompileAndExecute() / aclopCompileAndExecuteV2() / aclGenGraphAndDumpForOp() -> OpCompileProcessor::GetInstance() -> OpCompileProcessor::Init() -> SetOption() -> OpCompileService::SetCompileStrategy(NATIVE_COMPILER) -> LocalCompiler::CreateCompiler() -> LocalCompiler::Init() -> GEInitialize() -> GEInitializeV2() -> EnsureReady() + LoadCustomOps();之后 cache miss 或 dump 图路径再进入 LocalCompiler::OnlineCompileAndDump() -> GeGenerator::Initialize()。 ## 变更类型 请选择本次引入的变更类型(勾选对应项): - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 历史用例通过,python自定义算子example正常运行 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/ge!4035 | 3 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 24 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 24 天前 | |
feat: 新增4个融合pass样例 Co-authored-by: qq_45842700<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !3999 merge feat/add-fusion-pass-examples into develop feat: 新增4个融合pass样例 Created-by: qq_45842700 Commit-by: qq_45842700 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 4 个融合 pass 样例: - **graph_base_pass/4_mmoe_bmm_split_pass**:基于 REGISTER_CUSTOM_PASS 注册,针对 MMOE 网络非首层多个同源 MatMul,通过 Pack + BatchMatMulV2 + Split + Squeeze 合并为批量矩阵乘法 - **graph_base_pass/5_mmoe_matmul_pass**:基于 REGISTER_CUSTOM_PASS 注册,针对 MMOE 网络首层多个同源 MatMul,通过 Concat + MatMul + SplitV 合并为单个大尺寸 MatMul - **pattern_base_pass/8_bmm_tile_pass**:基于 PatternFusionPass 注册,消除共享权重场景下冗余的 Tile 算子,利用 BatchMatMulV2 首维广播能力替代显式数据扩展 - **pattern_base_pass/9_bmm_to_mul_reduce_pass**:基于 PatternFusionPass 注册,将 n=1 且 k<=16 的 BatchMatMulV2 改写为 Mul + ReduceSumD,利用 vector 单元提升性能 ## 变更类型 - [x] ✨ 新功能 - [x] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 进入各 pass 的 cpp 目录,执行 mkdir build && cd build && cmake .. && make 验证编译通过 2. 执行 make install 安装 pass so,使用 quick_verify.sh 脚本验证融合效果 3. 执行 make clean_custom_pass 清理安装的 pass so ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 4 个样例覆盖 graph_base_pass 和 pattern_base_pass 两种注册方式,均提供 C++ 源码、CMakeLists、中英文 README、ONNX 生成脚本和一键验证脚本。 See merge request: cann/ge!3999 | 5 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 24 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 24 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 24 天前 | |
feat: add YOLOv13 object detection sample based on ACL interface Co-authored-by: cao qiancheng<220255669@seu.edu.cn> # message auto-generated for no-merge-commit merge: !3978 merge feat/yolov13-sample into develop feat: add YOLOv13 object detection sample based on ACL interface Created-by: sunsummercqc Commit-by: cao qiancheng Merged-by: cann-robot Description: # Pull Request ## 描述 基于 ACL 离线推理接口,新增 YOLOv13 目标检测样例( examples/acl/5_sample_yolov13/), 展示如何将 YOLOv13 ONNX 模型转换为 OM 离线模型并在昇腾 NPU 上执行推理。 包含: - 图片预处理脚本(letterbox 缩放 + 归一化) - ACL 推理 + YOLO 输出解析 + NMS 后处理 - 检测结果可视化脚本 - 中英文 README 文档 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 将 YOLOv13 ONNX 模型转换为 OM 模型: atc --model=yolov13n.onnx --framework=5 --output=yolov13 --soc_version=xxx --input_shape="images:1,3,640,640" --output_type=FP32 2. 准备测试图片并预处理: cd data && wget https://raw.githubusercontent.com/iMoonLab/yolov13/main/ultralytics/assets/bus.jpg python3 ../scripts/preprocess.py 3. 编译运行: cd scripts && bash build.sh && bash run.sh 4. 预期输出:打印检测到的目标类别、置信度和 bbox 坐标 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 模型权重来自 iMoonLab/yolov13,测试图片来自其 ultralytics/assets/ 目录。 See merge request: cann/ge!3978 | 2 天前 | |
feat: add YOLOv13 object detection sample based on ACL interface Co-authored-by: cao qiancheng<220255669@seu.edu.cn> # message auto-generated for no-merge-commit merge: !3978 merge feat/yolov13-sample into develop feat: add YOLOv13 object detection sample based on ACL interface Created-by: sunsummercqc Commit-by: cao qiancheng Merged-by: cann-robot Description: # Pull Request ## 描述 基于 ACL 离线推理接口,新增 YOLOv13 目标检测样例( examples/acl/5_sample_yolov13/), 展示如何将 YOLOv13 ONNX 模型转换为 OM 离线模型并在昇腾 NPU 上执行推理。 包含: - 图片预处理脚本(letterbox 缩放 + 归一化) - ACL 推理 + YOLO 输出解析 + NMS 后处理 - 检测结果可视化脚本 - 中英文 README 文档 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 将 YOLOv13 ONNX 模型转换为 OM 模型: atc --model=yolov13n.onnx --framework=5 --output=yolov13 --soc_version=xxx --input_shape="images:1,3,640,640" --output_type=FP32 2. 准备测试图片并预处理: cd data && wget https://raw.githubusercontent.com/iMoonLab/yolov13/main/ultralytics/assets/bus.jpg python3 ../scripts/preprocess.py 3. 编译运行: cd scripts && bash build.sh && bash run.sh 4. 预期输出:打印检测到的目标类别、置信度和 bbox 坐标 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 模型权重来自 iMoonLab/yolov13,测试图片来自其 ultralytics/assets/ 目录。 See merge request: cann/ge!3978 | 2 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 天前 | ||
| 18 天前 | ||
| 3 天前 | ||
| 24 天前 | ||
| 24 天前 | ||
| 5 天前 | ||
| 24 天前 | ||
| 24 天前 | ||
| 24 天前 | ||
| 2 天前 | ||
| 2 天前 |