接口列表
本文档主要描述给应用用户或者上层框架提供了安全易用的构图接口集合,开发者可以调用这些接口构建网络模型,设置模型所包含的图、图内的算子以及算子的属性信息(包括Input、Output及其他属性信息)。
您可以在“${INSTALL_DIR}/include”路径查看对应接口的头文件。
其中${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。
接口分类 |
接口列表 |
功能描述 |
---|---|---|
Parser解析接口
|
将TensorFlow模型解析为图。 |
|
将Caffe模型解析为图。 |
||
将ONNX模型解析为图。 |
||
将加载至内存的ONNX模型解析为图。 |
||
Graph构建接口
|
Graph构造函数和析构函数。 |
|
设置Graph内的输入算子。 |
||
设置Graph关联的输出算子。 |
||
设置Graph的结束节点列表。 |
||
判断Graph对象是否有效,即是否可被运行。 |
||
标记Graph是否需要循环执行。 |
||
用户算子缓存接口,通过此接口可以将不带连接关系的算子缓存在图中,用于查询和对象获取。 |
||
基于算子名称,获取缓存在Graph中的op对象。 |
||
获取Graph中已注册的所有缓存算子的名称列表。 |
||
将序列化后的Graph结构保存到文件中。 |
||
从文件中读取Graph。 |
||
基于算子类型,获取缓存在Graph中的所有指定类型的op对象。 |
||
获取当前图的名称。 |
||
目标图的graph_name优先使用用户指定的,未指定则使用原图的graph_name。graph_id/session归属,拷贝后需要用户自行添加。 |
||
从内存中读取序列化后Graph。 |
||
将序列化后的Graph保存到内存中。 |
||
从ModelDef的序列化数据中恢复Graph。 |
||
Graph修改接口>Graph类
|
获取图中的所有节点,包含本图包含子图的节点。 |
|
获取本图中的所有节点,不包含本图内子图的节点。 |
||
删除图中的指定节点,并删除节点之间的连边。 |
||
删除图中的指定连接边。 |
||
新增一个节点到图上。 |
||
新增一条数据边。 |
||
新增一个控制边。 |
||
功能与SetInputs一致。SetInputs未来会逐步消亡,统一使用此接口。 |
||
Graph修改接口>GNode类
|
GNode构造函数和析构函数。 |
|
获取算子type。 |
||
获取算子名字。 |
||
获取算子指定输入端口对应的对端算子以及对端算子的输出端口号。 |
||
获取算子的控制输入节点。 |
||
获取算子指定输出端口对应的对端算子以及对端算子的输入端口号。 |
||
获取算子的控制输出节点。 |
||
如果算子的输入是Const节点,会返回Const节点的值,否则返回失败。支持跨子图获取输入是否是Const及Const下的value。 |
||
通过算子的端口名获取输入端口index。 |
||
通过算子的动态输入端口名获取动态输入端口indexes。 |
||
通过算子的端口名获取输出端口index。 |
||
通过算子的动态输出端口名获取动态输出端口indexes。 |
||
返回节点的有效输入个数,即算子的实际输入个数。 |
||
返回有效输出个数,即算子定义时的输出个数。 |
||
获取指定输入端口的tensor格式。 |
||
更新指定输入端口的tensor格式。 |
||
获取指定输出端口的tensor格式。 |
||
更新指定输出端口的tensor格式。 |
||
设置Node属性的属性值。 |
||
获取指定属性名字的值。 |
||
查询属性是否存在。 |
||
获取当前节点的第index个子图对象。 |
||
获取当前节点根图的所有子图对象。 |
||
Graph修改接口>CustomPassContext类
|
CustomPassContext构造函数和析构函数。 |
|
向框架注册图修改阶段遇到的错误信息。 |
||
Graph修改接口>REGISTER_CUSTOM_PASS
|
开发人员可以选择将改图函数注册到框架中,由框架在编译最开始调用自定义改图pass,调用REGISTER_CUSTOM_PASS进行自定义pass注册。 |
|
Graph修改接口>PassRegistrationData类
|
PassRegistrationData构造函数和析构函数。 |
|
注册自定义Pass的执行函数。 |
||
获取自定义Pass的执行函数。 |
||
设置自定义Pass执行阶段。 |
||
获取自定义Pass执行阶段。 |
||
注册自定义的逻辑流分配Pass执行函数。 |
||
获取自定义的逻辑流分配Pass执行函数。 |
||
Graph修改接口>PassReceiver类
|
PassReceiver构造函数和析构函数。 |
|
Graph修改接口>Session类
|
切分图接口,对Session内的图按照AddGraph的顺序进行切分,切分后的图保存在内存中。 |
|
切分图接口,对Session内的图按照AddGraph的顺序进行切分,切分后的图保存为pb文件。 |
||
保存Session内图接口,将图保存为pb文件,支持Session内的权重共享功能(即Session内两张图若有两个权重值是一致的,则只会保存一份权重)。 |
||
Graph修改接口>GraphBuffer类
|
GraphBuffer构造函数和析构函数。 |
|
获取序列化后的Graph的内存起始位置。 |
||
获取序列化后的Graph的内存的长度。 |
||
Graph修改接口>StreamPassContext类
|
StreamPassContext构造函数和析构函数。 |
|
设置某节点的Stream ID,拥有相同Stream ID的节点将会在同一条流上依次执行。 |
||
获取节点上当前的Stream ID,其结果表示经过内置流分配算法以后该节点被分配的Stream ID。 |
||
申请新的Stream ID,当希望申请新逻辑流的时候,需要调用该接口。 |
||
获取当前图上最大的Stream ID。 |
||
Graph编译接口
|
模型构建的初始化函数,用于申请资源。 |
|
编译生成离线模型并保存到内存缓冲区。 |
||
将离线模型序列化并保存到指定文件中。 |
||
将Graph编译为适配昇腾AI处理器的离线模型并同时生成*.om和*.exeom文件。 |
||
系统完成模型构建后,通过该接口释放资源。 |
||
通过传入Const节点名数组将原图转换成一组权重可更新的图。 |
||
与aclgrphBuildModel接口的区别是,该接口适用于权重更新场景。通过aclgrphBundleBuildModel接口生成离线模型缓存后,需要使用aclgrphBundleSaveModel接口落盘。 |
||
将离线模型序列化并保存到指定文件中。 |
||
Graph运行接口
|
初始化GE,完成运行准备。 |
|
GE退出,释放GE相关资源。 |
||
Session构造函数和析构函数。 |
||
变量查询接口,获取Session内所有variable算子或指定variable算子的tensor内容。 |
||
获取Session的ID。 |
||
向Session中添加Graph,Session内会生成唯一的Graph ID。 |
||
向Session中添加Graph,Session内会生成唯一的Graph ID。 |
||
在当前Session中删除指定ID对应的Graph。 |
||
|
||
只有异步执行Graph场景使用,使用指定的session,将指定graphid的图绑定到对应stream上。 |
||
同步运行指定id对应的Graph图,输出运行结果。 |
||
异步运行指定id对应的Graph图,输出运行结果。 |
||
异步运行指定id对应的Graph图,输出运行结果。该接口包括了编译,加载和运行Graph的操作。 |
||
异步运行指定id对应的Graph图,输出执行结果。 |
||
使用指定的Session实例,异步运行指定id对应的Graph图,输出执行结果。 |
||
对输入refdata节点切分后,同步运行指定id对应的Graph图,输出运行结果。 |
||
同步编译指定id对应的Graph图,生成可用于执行的模型。 |
||
同步编译指定id对应的Graph图。与BuildGraph相比,该接口仅包含图编译功能,不生成可用于执行的模型,BuildGraph包含了图编译过程,并在编译完成后进行模型所需内存资源的初始化,生成可用于执行的模型。 |
||
注册回调函数。 |
||
图是否需要重新编译。 |
||
查询图编译结果的概要信息。包括Feature内存大小、Const内存大小、Stream、Event数目及内存是否可刷新等信息。 |
||
设置Graph的Const内存基址。 |
||
用于更新Graph的Feature内存基址。 |
||
用于指定图的Fixed Feature内存基地址。 |
||
用于指定图的不同内存类型的Fixed Feature内存基地址。 |
||
用于更新除了Fixed之外可刷新的Feature内存基址。 |
||
用户将自己的Allocator注册给GE,适用于使用用户的内存池场景。 |
||
将用户基于stream注册的Allocator销毁,适用于使用用户的内存池场景。 |
||
用于内存出现UCE(Uncorrectable Error,不可纠正错误)错误时判断此段内存是否可以快速恢复。 |
||
获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的错误描述信息。 |
||
获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的告警信息。 |
||
获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的错误描述信息。 |
||
获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的告警信息。 |
||
Graph查询接口
|
查询用于分布式编译部署的模型切分信息。 |
|
量化接口
|
||
维测接口
|
初始化Profiling,设置Profiling参数(目前供用户设置保存性能数据文件的路径)。 |
|
结束Profiling。 |
||
创建Profiling配置信息。 |
||
销毁profiling配置信息。 |
||
下发Profiling请求,使能对应数据的采集。 |
||
停止Profiling数据采集。 |
||
其他接口
|
将输入的图导出到文本中。 |
|
用于支持设置node属性方式的改图。 |
||
获取模型构建相关接口的版本号。 |
||
根据单算子信息或单算子json文件构建Graph。 |
||
- |
||
数据类型
|
- |
|
数据类型 头文件:/include/ge/ge_api_types.h |
- |
|
- |
||
- |
||
- |
||
- |
||
- |
||
数据类型
|
- |
|
- |
||
数据类型 头文件:/include/ge/ge_api_types.h |
- |