当前位置: 首页 > news >正文

CANN ATC模型转换指南

ATC模型转换指南

【免费下载链接】cann-recipes-harmony-infer本项目为鸿蒙开发者提供基于CANN平台的业务实践案例,方便开发者参考实现端云能力迁移及端侧推理部署。项目地址: https://gitcode.com/cann/cann-recipes-harmony-infer

ATC是异构计算架构CANN体系下的模型转换工具,它可以将开源框架的网络模型以及Ascend IR定义的单算子描述文件(JSON格式)转换为昇腾、麒麟AI处理器支持的离线模型格式。

环境准备

  1. 参见环境准备进行环境搭建,并确保开发套件Ascend-cann-toolkit安装完成。该场景下ATC工具安装在${install_path}/cann/bin目录下;其中,${install_path}请替换为CANN软件安装目录,以root安装举例,安装目录为:/usr/local/Ascend/ascend-toolkit

  2. 安装CANN软件后,使用CANN运行用户进行编译、运行时,需要以CANN运行用户登录环境,执行如下环境变量:

# 默认路径安装,以root用户为例(非root用户,将/usr/local替换为${HOME}) source /usr/local/Ascend/cann-${cann_version}/set_env.sh # 指定路径安装 # source ${install_path}/cann-${cann_version}/set_env.sh

模型转换

ONNX网络模型转换成离线模型

atc --model=$HOME/module/resnet50*.onnx --framework=5 --output=$HOME/module/out/onnx_resnet50 --soc_version=<soc_version>
  • --model:Resnet50网络模型文件所在路径。
  • --framework:原始框架类型,5表示ONNX。
  • --output:生成的离线模型路径。
  • --soc_version:Kirin AI处理器的型号,如KirinX90、Kirin9030等。

*.air格式的模型文件转换成离线模型

atc --model=$HOME/module/ResNet50.air --framework=1 --output=$HOME/module/out/ResNet50_air --soc_version=<soc_version>
  • --model:*.air格式的模型文件所在路径。
  • --framework:原始框架类型,1表示*.air格式的模型文件。
  • --output:生成的离线模型路径。
  • --soc_version:Kirin AI处理器的型号,如KirinX90、Kirin9030等。

单算子描述文件转换成离线模型

单算子描述文件是基于Ascend IR定义的单个算子的定义文件,包括算子的输入、输出及属性等信息,借助该文件转换成适配昇腾、麒麟AI处理器的离线模型后,可以验证单算子的功能。详细配置请参考单算子描述文件配置。

atc --singleop=$HOME/singleop/add.json --output=$HOME/singleop/out/op_model --soc_version=<soc_version>
  • --singleop:用于指定add.json单算子描述文件。
  • --output:转换后的离线模型存放路径。
  • --soc_version:Kirin AI处理器的型号,如KirinX90、Kirin9030等。

附录

ATC参数名称参数简述是否必选默认值
--help或--h显示帮助信息。不涉及
--model原始模型文件路径与文件名。不涉及
--framework原始框架类型。不涉及
--input_format输入数据格式。Caffe、MindSpore、ONNX默认为NCHW;TensorFlow默认为NHWC
--input_shape模型输入数据的shape。不涉及
--singleop单算子定义文件,将单个算子JSON文件转换成适配昇腾AI处理器的离线模型。不涉及
--output● 如果是开源框架的网络模型,存放转换后的离线模型的路径以及文件名。
● 如果是单算子描述文件,存放转换后的单算子模型的路径。
不涉及
--output_type指定网络输出数据类型或指定某个输出节点的输出类型。不涉及
--soc_version模型转换时指定芯片版本。不涉及
--core_type设置网络模型使用的Core类型,若网络模型中包括Cube算子,则只能使用 AiCore。AiCore
--out_nodes指定输出节点。不涉及
--external_weight生成om离线模型时,是否将原始网络中的Const/Constant节点的权重保存在单独的文件中,同时将节点类型转换为 FileConstant类型。0
--precision_mode设置网络模型的精度模式。force_fp16
--precision_mode_v2设置网络模型的精度模式。与--precision_mode不能同时使用,推荐使用--precision_mode_v2。fp16
--log设置ATC模型转换过程中显示日志的级别。null

【免费下载链接】cann-recipes-harmony-infer本项目为鸿蒙开发者提供基于CANN平台的业务实践案例,方便开发者参考实现端云能力迁移及端侧推理部署。项目地址: https://gitcode.com/cann/cann-recipes-harmony-infer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/783764/

相关文章:

  • CANN/cann-recipes-infer压缩FlashAttention算子
  • CANN电力负荷预测ReduceAll算子
  • OpenAI Cookbook:从API调用到AI工程化落地的实用指南
  • 对比两个版本代码差异
  • 在Node.js后端服务中集成Taotoken实现稳定AI能力
  • 高层次综合理念
  • 为Hermes Agent框架配置自定义模型供应商并连接Taotoken
  • ARGO:本地部署AI智能体,打造私有化多智能体协作平台
  • 淘金币自动化脚本:5分钟完成每日任务的高效解决方案
  • CATLASS EVG扩展说明
  • 避开递归深坑:从ICode Python 6级题看如何设计清晰的递归函数
  • 2026企业AIAgent平台评测:主流智能体平台横向对比
  • Taotoken模型广场在技术选型阶段提供的直观比较与试用体验
  • 别再让Langchain卡住你的前端!一个FastAPI + SSE的保姆级流式输出教程(附完整可运行代码)
  • 变形翼无人机穿越狭窄缝隙的技术挑战与解决方案
  • CANN/ops-math图像到列算子
  • CANN/pyasc合并排序队列API
  • 2026线下门店智能马桶TOP8排行榜:实体店买马桶到底选谁? - 江湖评测
  • CANN/cann-bench GQA算子API描述
  • 微信AI机器人插件生态全解析:从选型部署到开发实践
  • CANN/sip ColwiseMul按列逐点乘示例
  • 网盘下载提速神器:九大平台直链解析工具完整指南
  • Cursor API本地代理:内网集成AI编程与自动化工作流实战
  • 认知科学启发的AGI测试框架:从人类智能维度到可量化评估
  • HoRain云--PHP命名空间终极指南
  • pypto.distributed 模块介绍
  • Python后台服务/守护进程如何正确处理SIGINT信号?一个真实的生产环境案例
  • CANN/pyasc load_data数据加载API文档
  • 人形机器人供应链观察:良质关节如何在三年内成为头部厂商的核心合作伙伴?(附数字化案例拆解) - 黑湖科技老黑
  • CANN具身智能-PI0训练样例