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

REQUIRED_ATTR

函数原型

REQUIRED_ATTR (x, type)

功能说明

注册算子属性,没有默认值,用户必须设置算子对象的属性值。

注册算子属性成功后,自动生成算子属性的3个对外接口,用于获取属性的名称、获取属性的值、设置属性的值。

例如,注册类型为int64_t的属性mode,可调用REQUIRED_ATTR (mode, Int)接口,注册算子属性成功后,会自动生成如下接口:

static const string name_attr_mode(); // 返回属性的名称,即“mode”
OpInt get_attr_mode() const; // 返回mode属性的值,OpInt即int64_t
_THIS_TYPE& set_attr_mode(const OpInt& v); // 设置mode属性的值,返回this对象

参数说明

参数名

输入/输出

类型

描述

x

输入

-

宏参数,算子属性的名称。

type

输入

-

算子属性的类型,包括:

  • AttrValue::INT,属性类型为int64_t
  • AttrValue::FLOAT, 属性类型为float
  • AttrValue::STR,属性类型为string
  • AttrValue::BOOL,属性类型为bool
  • AttrValue::TENSOR,属性类型为Tensor
  • AttrValue::LIST_INT,属性类型为vector<int64_t>, int64_t列表
  • AttrValue::LIST_FLOAT, 属性类型为vector<float>, float列表
  • AttrValue::LIST_STR,属性类型为vector<string>,string列表
  • AttrValue::LIST_BOOL,属性类型为vector<bool>,bool列表
  • AttrValue::LIST_TENSOR,属性类型为vector<Tensor>,Tensor列表

返回值

无。

异常处理

无。

约束说明

对于同一个算子,注册的算子属性名称需保持唯一,不能重复。

分享:

    相关文档

    相关产品