| Files | Last commit | Last update |
|---|---|---|
Add Bucketize ONNX plugin Co-authored-by: jialimin1<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !7535 merge feat/bucketize-onnx-plugin into master Add Bucketize ONNX plugin Created-by: jialimin1 Commit-by: jialimin1 Merged-by: cann-robot Description: ## 描述 为仓内已有的 Bucketize AICPU 算子新增 ONNX 框架适配 plugin,打通 ONNX 模型导入链路。新增 2 个文件: 1. index/bucketize/framework/bucketize_onnx_plugin.cpp: - ParseOnnxParamsBucketize:从 ONNX 节点 JSON 编码的 attribute 中解析 boundaries(floats 列表),通过 op_dest.SetAttr("boundaries", boundaries) 设置到目标算子;解析异常时打 OP_LOGE 并返回 FAILED。 - REGISTER_CUSTOM_OP("Bucketize"):FrameworkType(ONNX),OriginOpType 注册 ai.onnx::8..16::Bucketize 共 9 个 opset 版本,ParseParamsByOperatorFn(ParseOnnxParamsBucketize),ImplyType(ImplyType::AI_CPU) 复用已有 AICPU kernel。 2. index/bucketize/framework/CMakeLists.txt:调用 add_onnx_plugin_sources() 将 plugin 源码纳入构建。 ## 关联的Issue #4164 ## 测试 根据代码变更,测试场景如下: 1. **编译构建测试** - 执行 index/bucketize/framework/CMakeLists.txt 配置与编译,验证 add_onnx_plugin_sources() 正确将 bucketize_onnx_plugin.cpp 纳入构建,plugin 目标可正常生成。 2. **算子注册/加载验证** - 验证 REGISTER_CUSTOM_OP("Bucketize") 注册成功,ONNX 框架下 ai.onnx::8..16::Bucketize(共 9 个 opset 版本)均可被正确识别并映射到 CANN Bucketize 算子,ImplyType 为 AI_CPU。 3. **属性解析验证** - 构造含 boundaries(floats 列表)的 ONNX Bucketize 节点,验证 ParseOnnxParamsBucketize 正确解析 JSON attribute 并通过 SetAttr("boundaries", ...) 写入目标算子,boundaries 为 std::vector<float> 且与 ONNX 输入一致。 4. **异常容错测试** - 构造畸形 JSON 或缺失 boundaries 字段的 ONNX 节点,验证 try/catch 捕获异常、记录 OP_LOGE 日志并返回 FAILED,不导致进程崩溃。 5. **端到端功能验证** - 加载含 Bucketize 节点的 ONNX 模型(覆盖 opset 8 与 16 边界版本),验证模型能成功导入并调用已有 Bucketize AICPU kernel 完成计算,输出与 ONNX Runtime 对齐。 ## 文档更新 本次变更未涉及文档更新。index/bucketize/README.md 已存在,未做修改;如需补充 ONNX 调用说明可在后续 PR 中跟进。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7535 | 3 months ago | |
Add Bucketize ONNX plugin Co-authored-by: jialimin1<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !7535 merge feat/bucketize-onnx-plugin into master Add Bucketize ONNX plugin Created-by: jialimin1 Commit-by: jialimin1 Merged-by: cann-robot Description: ## 描述 为仓内已有的 Bucketize AICPU 算子新增 ONNX 框架适配 plugin,打通 ONNX 模型导入链路。新增 2 个文件: 1. index/bucketize/framework/bucketize_onnx_plugin.cpp: - ParseOnnxParamsBucketize:从 ONNX 节点 JSON 编码的 attribute 中解析 boundaries(floats 列表),通过 op_dest.SetAttr("boundaries", boundaries) 设置到目标算子;解析异常时打 OP_LOGE 并返回 FAILED。 - REGISTER_CUSTOM_OP("Bucketize"):FrameworkType(ONNX),OriginOpType 注册 ai.onnx::8..16::Bucketize 共 9 个 opset 版本,ParseParamsByOperatorFn(ParseOnnxParamsBucketize),ImplyType(ImplyType::AI_CPU) 复用已有 AICPU kernel。 2. index/bucketize/framework/CMakeLists.txt:调用 add_onnx_plugin_sources() 将 plugin 源码纳入构建。 ## 关联的Issue #4164 ## 测试 根据代码变更,测试场景如下: 1. **编译构建测试** - 执行 index/bucketize/framework/CMakeLists.txt 配置与编译,验证 add_onnx_plugin_sources() 正确将 bucketize_onnx_plugin.cpp 纳入构建,plugin 目标可正常生成。 2. **算子注册/加载验证** - 验证 REGISTER_CUSTOM_OP("Bucketize") 注册成功,ONNX 框架下 ai.onnx::8..16::Bucketize(共 9 个 opset 版本)均可被正确识别并映射到 CANN Bucketize 算子,ImplyType 为 AI_CPU。 3. **属性解析验证** - 构造含 boundaries(floats 列表)的 ONNX Bucketize 节点,验证 ParseOnnxParamsBucketize 正确解析 JSON attribute 并通过 SetAttr("boundaries", ...) 写入目标算子,boundaries 为 std::vector<float> 且与 ONNX 输入一致。 4. **异常容错测试** - 构造畸形 JSON 或缺失 boundaries 字段的 ONNX 节点,验证 try/catch 捕获异常、记录 OP_LOGE 日志并返回 FAILED,不导致进程崩溃。 5. **端到端功能验证** - 加载含 Bucketize 节点的 ONNX 模型(覆盖 opset 8 与 16 边界版本),验证模型能成功导入并调用已有 Bucketize AICPU kernel 完成计算,输出与 ONNX Runtime 对齐。 ## 文档更新 本次变更未涉及文档更新。index/bucketize/README.md 已存在,未做修改;如需补充 ONNX 调用说明可在后续 PR 中跟进。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7535 | 3 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 3 months ago | ||
| 3 months ago |