更新时间:2021-03-18 GMT+08:00
分享

验证思路

自定义算子部署到算子库(OPP)后,可通过ATC(Ascend Tensor Compiler)工具将自定义算子转换成单个算子的离线模型文件(*.om),然后开发者可使用ACL(Ascend Computing Language)提供的单算子模型加载接口加载离线模型,并传入算子输入数据,进行算子执行,通过查看输出结果验证算子功能是否正确。

图1 自定义算子网络运行验证流程
  1. 将开发好的自定义算子部署到opp算子库对应目录的custom路径下,包含算子实现文件(*.py)、算子插件库(*.so)、算子原型库(*.so)、算子信息库(*.json)。
  2. 配置自定义算子json文件。

    参照原型定义进行自定义算子的json文件配置,包括算子类型、属性、输入与输出。

  3. 使用ATC工具,加载2中的单算子json文件,生成只包含自定义算子的离线模型文件。
  4. 构造算子输入数据,用于进行算子功能验证。
  5. 进行ACL单算子验证的代码实现。

    1. 构造算子描述对象,执行模型推理时系统内部会根据算子描述信息匹配内存中的模型。
    2. 加载单算子模型并执行算子。
    3. 回显算子执行结果。

    其中5.b5.c样例代码进行了封装,开发者只需按照实际自定义算子修改5.a即可。

分享:

    相关文档

    相关产品

close