在 Ascend 昇腾310P3推理卡上,使用ATC(Ascend Tensor Compiler)工具进行模型转换
·
通过阅读该篇文章,您能够学习到以下内容:
- 模型转换流程:使用ATC工具,转换为适用于昇腾AI处理器的离线模型。
- 定制化模型生成:定制化模型生成。
- 实用示例:通过具体的示例和操作步骤,使用ATC进行模型转换。
什么是ATC
ATC是昇腾AI处理器的模型转换工具,将训练好的模型转换成能在昇腾硬件上运行的格式。
为什么要使用ATC工具转换模型格式
昇腾芯片(如Ascend 910/310/800)采用异构计算架构,与通用CPU/GPU设计不同,需通过ATC实现:
- 硬件适配:将通用框架模型转为昇腾专用指令集。
- 性能优化:通过算子融合、内存复用等技术提升推理效率。
- 跨框架兼容:统一不同框架模型至昇腾运行环境。
- 离线部署:生成脱离训练框架的独立模型,降低部署依赖。
华为昇腾ATC是连接AI算法与昇腾硬件的“桥梁”,ATC帮助AI模型在华为硬件上“跑得更快、运行更顺畅”。
什么时候使用
ATC主要在模型部署阶段使用,典型场景包括:
- 将训练好的模型部署到昇腾芯片(如Atlas系列硬件)。
- 需优化模型推理性能(如时延、吞吐量)。
- 跨框架迁移(如PyTorch模型转昇腾运行)。
- 边缘端部署(如Ascend 310芯片的端侧设备)。
安装步骤
使用ATC工具基本流程
- 准备模型:导出为ONNX、TensorFlow冻结图(.pb)等格式。
- 编写转换配置:定义输入/输出节点、数据类型、Shape等(通过.cfg文件)。
- 执行ATC命令:调用命令行工具完成转换。
atc --model=model.onnx --framework=5 --output=model_optimized --soc_version=Ascend310 - 验证模型:使用昇腾推理工具(如Ascend CL)验证.om文件。
关键参数
--model:输入模型路径。--framework:原框架类型(如5=ONNX)。--soc_version:目标昇腾芯片型号(如Ascend310)。--input_shape:指定动态Shape(若模型支持动态输入)。

参考文章
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐

所有评论(0)