包含头文件
应在插件实现文件的头部使用预编译命令“#include”将插件实现函数相关的头文件包含到插件实现源文件中。
#include "custom/custom_op.h" #include "framework/omg/register.h" #include "framework/omg/omg_types.h" #include "proto/caffe/caffe.pb.h" #include "operator.h" #include "attr_value.h" #include <memory> #include <string> #include <vector>
头文件 |
目录 |
作用 |
---|---|---|
custom/custom_op.h |
DDK安装目录下的/include/inc/custom/custom_op.h。 |
包含该头文件,可调用自定义的编译函数及算子调测函数、算子校验函数。 |
framework/omg/register.h |
DDK安装目录下的/include/inc/framework/omg/register.h。 |
包含该头文件,可使用算子注册类相关,调用算子注册相关的接口。 |
framework/omg/omg_types.h |
DDK安装目录下的/include/inc/framework/omg/omg_types.h。 |
包含该头文件,可使用TE自定义算子信息结构体TEBinInfo。 |
proto/caffe/caffe.pb.h |
算子插件编译时,在算子工程所在目录下生成proto/caffe/caffe.pb.h文件。 |
算子插件编译时,会自动编译DDK安装目录下的“/include/inc/custom/proto/caffe/caffe.proto”文件,并在算子工程所在目录下生成proto/caffe/caffe.pb.h文件供插件代码调用进行算子参数解析。 |
operator.h |
DDK安装目录下的include/inc/graph/operator.h。 |
包含该头文件,可调用算子属性存取、输入/输出设置接口。 |
attr_value.h |
DDK安装目录下的/include/inc/graph/attr_value.h。 |
包含该头文件,可使用AttrValue类下各数据类型。 |
memory |
C++标准库。 |
包含该头文件,可使用C++标准库中的智能指针、内存分配器、临时性的申请与释放动态内存的函数、在内存上构造对象的函数等。 |
string |
C++标准库。 |
包含该头文件,可使用string类构造对象并调用string相关接口。 |
vector |
C++标准库。 |
包含该头文件,可使用vector类模板并调用vector相关接口。 |
算子插件编译前,由于工程中不存在proto/caffe/caffe.pb.h文件,所以工程中如果出现如下提示信息,请忽略。
![](https://support.huaweicloud.com/odevg-te-atlas300app3000/zh-cn_image_0203140158.png)