样例介绍
获取样例
您可以从开发环境上的ACLlib安装目录下的“acllib/sample/acl_execute_op/”路径下获取样例代码。
功能描述
此样例实现了对自定义算子的功能验证,通过将自定义算子转换为单算子离线模型文件,然后通过ACL加载单算子模型文件进行运行。
单算子功能验证用例的实现原理及代码实现步骤可参考网络测试用例实现。

单算子模型文件的生成只依赖算子代码实现文件、算子原型定义、算子信息库,不依赖算子适配插件,算子适配插件的使用场景为使用atc工具将包含此算子的原始caffe或者tensorflow模型转换为离线模型,可参见加载自定义算子进行模型转换。
运行模式
Sample名称 |
基本功能 |
在Ascend RC上运行应用 |
---|---|---|
acl_execute_add |
Add算子运行验证 |
√ |
acl_execute_conv2d |
Conv2dTik算子运行验证 |
√ |
acl_execute_matmul |
MatmulTik算子运行验证 |
√ |
目录结构
算子运行验证样例代码目录结构类似,如下所示:
├── inc //头文件目录 │ ├── operator_desc.h //算子描述声明文件,包含算子输入/输出,算子类型以及输入描述与输出描述 │ ├── op_runner.h //算子运行相关信息声明文件,包含算子输入/输出个数,输入/输出大小等 │ ├── common.h // 声明公共方法类,用于读取二进制文件 ├── run // 单算子执行需要的文件存放目录 │ ├── out // 单算子执行需要的可执行文件存放目录 │ └── test_data // 测试数据存放目录 │ ├── config │ └── xx_op.json // 算子描述文件,用于构造单算子模型文件 │ └── acl.json //用于进行~acl初始化,请勿修改此文件 │ ├── data │ └── generate_xx.py // 生成测试数据的脚本 │ └── xx.py // 其他数据处理脚本,以实际样例为准 ├── src │ ├── main.cpp // 将单算子Add编译为om文件并加载om文件执行,此文件中包含算子的相关配置,若验证其他单算子,基于此文件修改 │ ├── operator_desc.cpp // 构造算子的输入与输出描述 │ ├── op_runner.cpp // 单算子编译与运行函数实现文件 │ ├── common.cpp // 公共函数,读取二进制文件函数的实现文件 │ ├── CMakeLists.txt // 编译规则文件
