通过阅读该篇文章,您能够学习到以下内容:

  1. 模型转换流程:使用ATC工具,转换为适用于昇腾AI处理器的离线模型。
  2. 定制化模型生成:定制化模型生成。
  3. 实用示例:通过具体的示例和操作步骤,使用ATC进行模型转换。

什么是ATC

ATC是昇腾AI处理器的模型转换工具,将训练好的模型转换成能在昇腾硬件上运行的格式。

为什么要使用ATC工具转换模型格式

昇腾芯片(如Ascend 910/310/800)采用异构计算架构,与通用CPU/GPU设计不同,需通过ATC实现:

  • 硬件适配:将通用框架模型转为昇腾专用指令集。
  • 性能优化:通过算子融合、内存复用等技术提升推理效率。
  • 跨框架兼容:统一不同框架模型至昇腾运行环境。
  • 离线部署:生成脱离训练框架的独立模型,降低部署依赖。

华为昇腾ATC是连接AI算法与昇腾硬件的“桥梁”,ATC帮助AI模型在华为硬件上“跑得更快、运行更顺畅”。

什么时候使用

ATC主要在模型部署阶段使用,典型场景包括:

  • 将训练好的模型部署到昇腾芯片(如Atlas系列硬件)。
  • 需优化模型推理性能(如时延、吞吐量)。
  • 跨框架迁移(如PyTorch模型转昇腾运行)。
  • 边缘端部署(如Ascend 310芯片的端侧设备)。

安装步骤

使用ATC工具基本流程

  1. 准备模型:导出为ONNX、TensorFlow冻结图(.pb)等格式。
  2. 编写转换配置:定义输入/输出节点、数据类型、Shape等(通过.cfg文件)。
  3. 执行ATC命令:调用命令行工具完成转换。
    atc --model=model.onnx --framework=5 --output=model_optimized --soc_version=Ascend310
    
  4. 验证模型:使用昇腾推理工具(如Ascend CL)验证.om文件。

关键参数

  • --model:输入模型路径。
  • --framework:原框架类型(如5=ONNX)。
  • --soc_version:目标昇腾芯片型号(如Ascend310)。
  • --input_shape:指定动态Shape(若模型支持动态输入)。

在这里插入图片描述

参考文章

Logo

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

更多推荐