用途:在华为昇腾 NPU 上完成 PT→ONNX→OM 模型转换与端到端推理适配,支持任意标准 PyTorch 或 ONNX 模型。支持 CANN 8.1.RC1、8.3.RC1、8.5.0+。
主要能力:Workflow 1 从代码仓库静态分析或动态探针发现 input_shape、input_names、opset 等参数,禁止硬编码默认值;Workflow 2 用 scripts/export_onnx.py 导出 ONNX,支持动态维度与 torchvision 预训练模型;Workflow 3 用 scripts/get_onnx_info.py 检查模型并执行 ATC 转换,需用 npu-smi info 确认精确 SoC 版本;Workflow 4 复用原仓库预处理/后处理生成 e2e_infer_om.py 端到端脚本;Workflow 5 用 infer_om.py 冒烟测试、compare_precision.py 对比 ONNX 与 OM 精度;Workflow 6 生成可复现 README。
使用方式:需用户提供模型权重路径与代码仓库地址,可选任务类型、输入尺寸、测试数据。典型命令:python3 scripts/export_onnx.py --pt_model model.pt --output model.onnx --input_shape 1,3,224,224;atc --model=model.onnx --framework=5 --output=model_om --soc_version=Ascend910B3。
限制:Python 必须 ≤3.10(推荐 3.10),NumPy <2.0,ONNX opset 推荐 11;纯 state dict 不支持导出;--soc_version 必须与设备完全一致;end2end 模型张量级对比可能偏低,应以业务结果对比为准。其余细节暂未提供。