TF Adapter简介
Ascend adapter for TensorFlow 2.x (下称TF Adapter)是TensorFlow 2.x(下称TF2)框架与CANN软件栈间的适配层,用于帮助TF2训练框架的使用者便捷地将训练迁移到昇腾AI处理器(简称NPU)上执行。当前版本的TF Adapter是无侵入的且与TF2有配套关系的Ascend发布件。
TF Adapter在昇腾AI软件栈中的位置如下图所示。
图1 昇腾AI软件栈架构图
TF2关键概念
TF Adapter涉及的TF2关键概念:
TF Adapter对接原理
TF Adapter将昇腾AI处理器注册成为TF2自定义设备,并且设置为默认设备,注册成为默认设备后,所有用户指定到昇腾AI处理器或未指定执行设备的运算操作,都将被TF2框架分发到昇腾AI处理器执行,昇腾AI处理器的算子执行接口内部实现时调用CANN的算子/图执行能力,完成昇腾AI处理器上的算子执行。
图2 TF Adapter对接框架图
TF Adapter对接时序图:
下图以一次典型的训练流程为例:包括设备初始化,模型(变量)初始化,执行训练,保存Checkpoint几个阶段。
图3 TF Adapter对接时序图
时序图中涉及的概念说明:
方案优势
TF Adapter当前对接方案优势:
- NPU成为TF2的自定义设备,从用户视角看来,NPU与GPU/CPU的存在形式一致,且能保持对TF2框架后续演进的兼容性。
- 算子级适配,兼容TF2框架原始特性。特别是函数算子,可充分发挥CANN的图处理优势,加速执行。
- 插件式无侵入对接CANN,无需重新编译部署TF2,快速完成在不同平台上的TF Adapter安装。
父主题: 使用前必读