概述
简介
本文档用于指导开发者使用AscendCL接口进行计算图的构建、修改、编译、执行。
不局限于Caffe、TensorFlow等深度学习框架,用户可以通过开放的AscendCL编程接口,基于算子原型进行构图。同时,也可以通过框架解析功能将主流的模型格式转换成CANN模型格式,从而隔离上层框架的差异,当前仅支持对Caffe/TensorFlow/ONNX原始框架模型的解析。
通过算子原型构建Graph或者将原始模型解析为Graph后,可以对图进行修改、编译、执行操作,从而实现模型的表达和高层次的编译优化。
典型业务流程
网络模型定义格式大同小异,主要由Tensor、Node(Operator)、Graph组合而成。
- Tensor包括Tensor描述及数据两部分,Tensor描述包括了该Tensor的name、dtype、shape、format信息。
- Operator包括算子的name、type、输入、属性信息。
- Graph包括网络的name、算子列表、输入算子、输出算子。
如果您仅需要把Graph编译并保存为适配昇腾AI处理器的离线模型,编译生成的离线模型可以通过aclmdlLoadFromFile接口加载,并通过aclmdlExecute接口执行推理模型,调用AscendCL接口完成构图及图编译的具体流程如图1所示。
整体开发流程