ATC工具介绍

介绍ATC工具的功能架构以及模型转换过程中,各组件的交互流程。

ATC简介

昇腾张量编译器(Ascend Tensor Compiler,简称ATC)是异构计算架构CANN体系下的模型转换工具, 它可以将开源框架的网络模型以及Ascend IR定义的单算子描述文件(json格式)转换为昇腾AI处理器支持的.om格式离线模型。其功能架构如图1所示。

模型转换过程中,ATC会进行算子调度优化、权重数据重排、内存使用优化等具体操作,对原始的深度学习模型进行进一步的调优,从而满足部署场景下的高性能需求,使其能够高效执行在昇腾AI处理器上。

图1 ATC工具功能架构

其中:

模型转换交互流程

下面以开源框架网络模型转换为.om离线模型为例,详细介绍模型转换过程中与周边模块的交互流程。

根据网络模型中算子计算单元的不同,分为TBE(Tensor Boost Engine)算子、AI CPU算子,TBE算子在AI Core上运行,AI CPU算子在AI CPU上运行。在TBE算子、AI CPU算子的模型转换交互流程中,虽然都涉及图准备、图拆分、图优化、图编译等节点,但由于两者的计算单元不同,因此涉及交互的内部模块也有所不同,请参见下图。关于算子类型、基本概念等详细介绍请参见TBE&AI CPU自定义算子开发指南