| Files | Last commit | Last update |
|---|---|---|
feat: 接入ONNX Plugin Python bridge到真实ParseParamsFn Co-authored-by: gentle-knight<522025150054@smail.nju.edu.cn> # message auto-generated for no-merge-commit merge: !4455 merge feat/onnx-plugin-python-pr2-bridge into develop feat: 接入ONNX Plugin Python bridge到真实ParseParamsFn Created-by: gentle-knight Commit-by: gentle-knight Merged-by: cann-robot Description: ## 描述 在PR1(#4421 native bindings)基础上,以独立bridge SO完成Python descriptor/registry到parser真实ParseParamsFn的闭环。 PR2新增内容: - 新增 ge_python_onnx_plugin_bridge独立SO,复用现有loader/registry/OpRegistrationTbe/OpRegistry,不新增第二套注册表或扫描器 - PrepareBeforeParse在C++插件初始化成功后、ASCEND_CUSTOM_OPP_PATH非空时按需dlopen bridge - bridge以py::cast(NodeProto*, reference)借用parser已有对象构造native OnnxNode,不取得所有权 - ge::Operator地址作为ctypes借用句柄传入Python callback,callback结束后失效 - callback返回None映射SUCCESS,返回非None映射PARAM_INVALID,Python异常映射FAILED - OpRegistry使用已有完整(target, origin_type)键检查保持C++优先,Python不覆盖已有C++注册 - 删除Python bridge UT中的SimpleNamespace测试接缝,改为C++ parser UT直接构造真实ge::onnx::NodeProto - 新增成功/异常/非None返回/C++优先四类场景测试 不包含ParseParamsByOperatorFn、ParseOpToGraphFn、ParseSubgraph、ES子图构图、Tensor/TensorDesc/DataType、通用PluginContext。 ## 变更类型 - [x] ✨ 新功能 ## 关联的Issue 依赖PR1 #4421(native bindings),当前为stacked PR。 ## 如何测试 1. 编译ge_python_onnx_plugin_bridge和fmk_onnx_parser目标 2. 编译ut_parser并运行OnnxPythonPluginBridge测试用例 3. 设置ASCEND_CUSTOM_OPP_PATH指向测试Python插件,验证真实ONNX parser闭环 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 工作代码约221行,测试代码约168行,未超出PR2预算 - bridge为独立SO,不进入graph_metadef,不向Python暴露protobuf指针 - 未修改生产native OnnxNode模块,未增加测试工厂 - 本地编译通过:ge_python_onnx_plugin_bridge、fmk_onnx_parser、ut_parser - pre-commit全部通过 See merge request: cann/ge!4455 | 2 months ago | |
fix: 修复文档环境依赖/样例首跑问题并统一 ST 走 ctest 汇总 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !5254 merge fix/docs-env-and-st-ctest into develop fix: 修复文档环境依赖/样例首跑问题并统一 ST 走 ctest 汇总 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 修复 4 个文档/样例/测试相关问题: 1. **编译环境依赖缺失**: docs/{zh,en}/build.md 4.2 节 apt 清单不含任何 C++ 编译器,干净容器装完后 scripts/check_env.sh 报 [ERROR] 未安装 G++。清单补 g++,依赖描述行补充 gcc/g++(满足 GCC >= 7.3.x)。 2. **qwen 样例首跑失败**:atc 产物可能带架构后缀(qwen_linux_aarch64.om),而源码按 ../model/qwen.om 加载。快速开始链内联幂等重命名步骤。 3. **acl_gemm 样例首跑失败**:默认芯片 Ascend910B3,非该芯片机器 atc 报 FEOpsKernelInfoStore Initialize failed。快速开始链内联 export SOC_VERSION 提示。 4. **ST 输出结构与 UT 不一致**:ST 多数套件直跑 gtest 二进制,无 ctest 式通过率汇总。参照 UT 模式,为各 ST 套件补 add_test 注册(唯一 NAME / LABELS / xml 报告 / WORKING_DIRECTORY / RUN_SERIAL / TIMEOUT),并将 build_fwk.sh、build.sh 中 ST 直跑点改为 ctest -L st -L <组>,使 ST 结尾输出与 UT 一致的汇总、失败清单、日志路径与重跑提示。未新增任何脚本。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 文档类:按 docs/zh/build.md 4.2 节 apt 清单在干净容器安装后执行 bash scripts/check_env.sh,G++ 检查项应通过。 2. 样例类:按 examples/acl/3_sample_qwen_llm 与 4_sample_acl_gemm 快速开始命令链首跑应成功。 3. ST 汇总:bash tests/run_test.sh --st 各套件结尾应出现 ctest 汇总行(xx% tests passed ...)。 4. 脚本语法:bash -n scripts/build_fwk.sh scripts/build.sh 通过;ctest 注册语法经最小工程冒烟验证。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 ST 实际运行需 NPU 环境,建议在真实环境跑一次 bash tests/run_test.sh --st 确认各套件结尾出现 ctest 汇总行。 See merge request: cann/ge!5254 | 16 days ago | |
fix(parser): 修复 TF FrameworkOp 降级后 ParseOpParams 解析失败 Co-authored-by: chenqian1365<chenqian2@huawei.com> # message auto-generated for no-merge-commit merge: !5759 merge fix/tf-frameworkop-parse-dev into develop fix(parser): 修复 TF FrameworkOp 降级后 ParseOpParams 解析失败 Created-by: chenqian1365 Commit-by: chenqian1365 Merged-by: cann-robot Description: # Pull Request ## 描述 TF 模型解析时, CheckOpType 会把部分算子(如 SparseSoftmaxCrossEntropyWithLogits 输入维度含 10)降级为 FrameworkOp。但 ParseOpParams 的分支判断仍用 NodeDef 原始 op 名查 GetParseParamByOperatorFunc,命中 ops-nn 注册的 ParseParamsByOperatorFn 后走 custom 分支;而 op_parser 是按适配后的 FrameworkOp 创建出来的 TensorflowOpParserAdapter,dynamic_pointer_cast 到 TensorFlowCustomParserAdapter 为空,GE_CHECK_NOTNULL 直接返回 PARAM_INVALID,解析失败。 本次修复收窄为:仅当 parser 不是 TensorFlowCustomParserAdapter 且节点类型为 FrameworkOp 时,回退到 TensorFlowOpParser::ParseParams;其它异常仍按原逻辑报错。保留 dim==10 -> FrameworkOp 的既有降级语义。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 构造 TF 模型:SparseSoftmaxCrossEntropyWithLogits 的 features 含一维大小 10,并带上 adapter 风格的 input_tensor_desc / op_def,触发 CheckOpType 降级为 FrameworkOp; 2. 运行 ut_parser --gtest_filter='UtestTensorflowParser.SparseSoftmaxDowngrade*',两个用例通过; 3. 全量 ut_parser:672 passed;剩余 5 个 UtestAclGraphParser.* 失败为本地 cwd/相对路径相关的既有问题,与本次改动无关。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 根因是 ParseOpParams 的分支 key(原始 op 名)与 parser 对象 key(适配后的 op_type)不一致;本次只在 FrameworkOp 场景回退,避免影响其它 custom op 解析。 See merge request: cann/ge!5759 | 2 days ago | |
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 | 4 months ago |