SetAttr
函数功能
设置算子属性的属性值。
算子可以包括多个属性,初次设置值后,算子属性值的类型固定,算子属性值的类型包括:
- 整型:接受int64_t、uint32_t、int32_t类型的整型值
使用SetAttr(const string& name, int64_t attrValue)设置属性值,以GetAttr(const string& name, int32_t& attrValue) 、GetAttr(const string& name, uint32_t& attrValue) 取值时,用户需保证整型数据没有截断,同理针对int32_t和uint32_t混用时需要保证不被截断。
- 整型列表:接受std::vector<int64_t>、std::vector<int32_t>、std::vector<uint32_t>、std::initializer_list<int64_t>&&表示的整型列表数据
- 浮点数:float
- 浮点数列表:std::vector<float>
- 字符串:string
- 字符串列表:std::vector<string>
- 布尔:bool
- 布尔列表:std::vector<bool>
- Tensor:Tensor
- Tensor列表:std::vector<Tensor>
- Bytes:字节数组,SetAttr接受通过OpBytes(即vector<uint8_t>),和(const uint8_t* data, size_t size)表示的字节数组
- 量化数据:UsrQuantizeFactorParams
- AttrValue类型
- 整型二维列表类型:std::vector<std::vector<int64_t>>
- DataType列表类型:vector<ge::DataType>
- DataType类型:DataType
- NamedAttrs类型: NamedAttrs
- NamedAttrs列表类型: vector<ge::NamedAttrs>
函数原型
数据类型为string的接口后续版本会废弃,建议使用数据类型为非string的接口。
Operator &SetAttr(const std::string &name, int64_t attr_value);
Operator &SetAttr(const std::string &name, int32_t attr_value);
Operator &SetAttr(const std::string &name, uint32_t attr_value);
Operator &SetAttr(const std::string &name, const std::vector<int64_t> &attr_value);
Operator &SetAttr(const std::string &name, const std::vector<int32_t> &attr_value);
Operator &SetAttr(const std::string &name, const std::vector<uint32_t> &attr_value);
Operator &SetAttr(const std::string &name, std::initializer_list<int64_t> &&attr_value);
Operator &SetAttr(const std::string &name, float32_t attr_value);
Operator &SetAttr(const std::string &name, const std::vector<float32_t> &attr_value);
Operator &SetAttr(const std::string &name, AttrValue &&attr_value);
Operator &SetAttr(const std::string &name, const std::string &attr_value);
Operator &SetAttr(const std::string &name, const std::vector<std::string> &attr_value);
Operator &SetAttr(const std::string &name, bool attr_value);
Operator &SetAttr(const std::string &name, const std::vector<bool> &attr_value);
Operator &SetAttr(const std::string &name, const Tensor &attr_value);
Operator &SetAttr(const std::string &name, const std::vector<Tensor> &attr_value);
Operator &SetAttr(const std::string &name, const OpBytes &attr_value);
Operator &SetAttr(const std::string &name, const std::vector<std::vector<int64_t>> &attr_value);
Operator &SetAttr(const std::string &name, const std::vector<ge::DataType> &attr_value);
Operator &SetAttr(const std::string &name, const ge::DataType &attr_value);
Operator &SetAttr(const std::string &name, const ge::NamedAttrs &attr_value);
Operator &SetAttr(const std::string &name, const std::vector<ge::NamedAttrs> &attr_value);
Operator &SetAttr(const char_t *name, int64_t attr_value);
Operator &SetAttr(const char_t *name, int32_t attr_value);
Operator &SetAttr(const char_t *name, uint32_t attr_value);
Operator &SetAttr(const char_t *name, const std::vector<int64_t> &attr_value);
Operator &SetAttr(const char_t *name, const std::vector<int32_t> &attr_value);
Operator &SetAttr(const char_t *name, const std::vector<uint32_t> &attr_value);
Operator &SetAttr(const char_t *name, std::initializer_list<int64_t> &&attr_value);
Operator &SetAttr(const char_t *name, float32_t attr_value);
Operator &SetAttr(const char_t *name, const std::vector<float32_t> &attr_value);
Operator &SetAttr(const char_t *name, AttrValue &&attr_value);
Operator &SetAttr(const char_t *name, const char_t *attr_value);
Operator &SetAttr(const char_t *name, const AscendString &attr_value);
Operator &SetAttr(const char_t *name, const std::vector<AscendString> &attr_values);
Operator &SetAttr(const char_t *name, bool attr_value);
Operator &SetAttr(const char_t *name, const std::vector<bool> &attr_value);
Operator &SetAttr(const char_t *name, const Tensor &attr_value);
Operator &SetAttr(const char_t *name, const std::vector<Tensor> &attr_value);
Operator &SetAttr(const char_t *name, const OpBytes &attr_value);
Operator &SetAttr(const char_t *name, const std::vector<std::vector<int64_t>> &attr_value);
Operator &SetAttr(const char_t *name, const std::vector<ge::DataType> &attr_value);
Operator &SetAttr(const char_t *name, const ge::DataType &attr_value);
Operator &SetAttr(const char_t *name, const ge::NamedAttrs &attr_value);
Operator &SetAttr(const char_t *name, const std::vector<ge::NamedAttrs> &attr_value);
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
name |
输入 |
属性名称。 |
attr_value |
输入 |
需设置的int64_t表示的整型类型属性值。 |
attr_value |
输入 |
需设置的int32_t表示的整型类型属性值。 |
attr_value |
输入 |
需设置的uint32_t表示的整型类型属性值。 |
attr_value |
输入 |
需设置的vector<int64_t>表示的整型列表类型属性值。 |
attr_value |
输入 |
需设置的vector<int32_t>表示的整型列表类型属性值。 |
attr_value |
输入 |
需设置的vector<uint32_t>表示的整型列表类型属性值。 |
attr_value |
输入 |
需设置的std::initializer_list<int64_t>&&表示的整型列表类型属性值。 |
attr_value |
输入 |
需设置的浮点类型的属性值。 |
attr_value |
输入 |
需设置的浮点列表类型的属性值。 |
attr_value |
输入 |
需设置的布尔类型的属性值。 |
attr_value |
输入 |
需设置的布尔列表类型的属性值。 |
attr_value |
输入 |
需设置的AttrValue类型的属性值。 |
attr_value |
输入 |
需设置的字符串类型的属性值。 |
attr_value |
输入 |
需设置的字符串列表类型的属性值。 |
attr_value |
输入 |
需设置的Tensor类型的属性值。 |
attr_value |
输入 |
需设置的Tensor列表类型的属性值。 |
attr_value |
输入 |
需设置的Bytes,即字节数组类型的属性值,OpBytes即vector<uint8_t>。 |
data |
输入 |
需设置的Bytes,即字节数组类型的属性值,指定了字节流的首地址。 |
size |
输入 |
需设置的Bytes,即字节数组类型的属性值,指定了字节流的长度。 |
attr_value |
输入 |
需设置的量化数据的属性值。 |
attr_value |
输入 |
需设置的vector<vector<int64_t>>表示的整型二维列表类型属性值。 |
attr_value |
输入 |
需设置的vector<ge::DataType>表示的DataType列表类型属性值。 |
attr_value |
输入 |
需设置的DataType类型的属性值。 |
attr_value |
输入 |
需设置的NamedAttrs类型的属性值。 |
attr_value |
输入 |
需设置的vector<ge::NamedAttrs>表示的NamedAttrs列表类型的属性值。 |
返回值
参数名 |
类型 |
描述 |
---|---|---|
- |
对象本身。 |
异常处理
无。
约束说明
无。