CANN / oam-tools:pyACL离线模型推理示例
03_api_pyAcl —— pyACL 加载 .om 离线模型推理 msprof 采集【免费下载链接】oam-tools本项目为开发者提供故障定位工具包含故障信息收集软硬件信息展示AI core error报错分析等能力提升故障问题定位效率文档可在昇腾社区搜索“故障处理简介”选择社区版。项目地址: https://gitcode.com/cann/oam-tools本环境运行状态✅ 已实跑全链路。按下方步骤跑build_model.shrun.sh即可在本地生成性能数据。这种方式采什么pyACL 是 CANN 的 Python 推理接口面向离线模型.om部署场景 模型先用 ATC 从 ONNX 转成 .om再用acl.mdl.execute推理。 这里用与 01/04 相同的 TinyMLP走 ONNX → .om 转换链后用 pyACL 推理。文件文件作用src/export_onnx.pyTinyMLP →tiny_mlp.onnxbuild_model.sh一键导出 ONNX ATC 转.omsrc/infer.pypyACL 全链路加载→推理×20→拷回→清理run.shmsprof 采集脚本跑bash build_model.sh # 生成 model_build/tiny_mlp.om bash run.sh 7 # msprof 采集默认 device 7如何用到你的模型替换src/export_onnx.py的模型与输入或直接拿已有 ONNX 改build_model.sh的 atc 命令 改src/infer.py的输入 shape然后bash build_model.sh bash run.sh 7。预期结果910B3 示例算子聚合op_statistic——与 01/04 对比出现关键差异OP TypeCore TypeCountTotal(us)Ratio01/04 对照MatMulV2AI_CORE80361.1842.0%77.88%GeluAI_VECTOR_CORE60252.929.4%21.45%CastAI_VECTOR_CORE40245.6828.6%无核心洞察pyACL 路径凭空多出Cast 算子占 28.6%PyTorch 路径没有。 原因ATC 转 .om 默认按 fp16 优化而模型 IO 是 fp32于是自动插入 fp32↔fp16 转换。 这是离线部署相对框架推理的典型代价——可在 ATC 阶段让 IO 也走 fp16 消掉这些 Cast。【免费下载链接】oam-tools本项目为开发者提供故障定位工具包含故障信息收集软硬件信息展示AI core error报错分析等能力提升故障问题定位效率文档可在昇腾社区搜索“故障处理简介”选择社区版。项目地址: https://gitcode.com/cann/oam-tools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考