news 2026/9/10 3:21:33

昇腾/GE SetAttr算子属性设置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
昇腾/GE SetAttr算子属性设置

SetAttr

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

产品支持情况

全量芯片支持。

头文件和库文件

  • 头文件:#include <graph/operator.h>
  • 库文件:libgraph.so

功能说明

设置算子属性的属性值。

算子可以包括多个属性,初次设置值后,算子属性值的类型固定,算子属性值的类型包括:

  • 整型:接受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<std::string>

  • 布尔:bool

  • 布尔列表:std::vector<bool>

  • Tensor:Tensor

  • Tensor列表:std::vector<Tensor>

  • Bytes:字节数组,SetAttr接受通过OpBytes(即vector<uint8_t>),和(const uint8_t* data, size_t size)表示的字节数组

  • AttrValue类型

  • 整型二维列表类型:std::vector<std::vector<int64_t>>

  • DataType列表类型:std::vector<ge::DataType>

  • DataType类型:ge::DataType

  • NamedAttrs类型: ge::NamedAttrs

  • NamedAttrs列表类型:std::vector<ge::NamedAttrs>

函数原型

[!NOTE]说明 数据类型为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列表类型的属性值。

返回值说明

Operator对象本身。

异常处理

无。

约束说明

无。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 3:18:31

Refine 中的 React 18 升级指南:新特性、API 迁移与工程实践

Refine 中的 React 18 升级指南&#xff1a;新特性、API 迁移与工程实践 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitHub_Trending/re…

作者头像 李华
网站建设 2026/9/10 3:17:24

STM32 RS485通信实战:从硬件电路到HAL库代码

简介&#xff1a;面向STM32F103平台的RS485通信参考工程&#xff0c;适合嵌入式开发入门者、工业自动化及远程监控项目技术人员&#xff0c;重点解决长距离多节点串行通信中的UART配置、485驱动器控制与收发切换问题。压缩包含122个文件&#xff0c;以C源码、H头文件和启动汇编…

作者头像 李华
网站建设 2026/9/10 3:17:19

TMS320VC5509A上McBSP与DMA协同驱动实战指南

简介&#xff1a;本资源是面向嵌入式DSP开发者的TMS320VC5509A芯片DMA实战工程&#xff0c;聚焦McBSP外设与DMA协同工作的底层驱动实现&#xff0c;适用于通信、音频实时处理等对数据吞吐与时序敏感的应用场景&#xff0c;适合具备C语言基础和TI C55x架构初步认知的中级开发者学…

作者头像 李华
网站建设 2026/9/10 3:15:50

Verification Report

Verification Report 【免费下载链接】oh-my-claudecode Teams-first Multi-agent orchestration for Claude Code 项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-claudecode Verdict Status: PASS | FAIL | INCOMPLETE Confidence: high | medium | low Bl…

作者头像 李华
网站建设 2026/9/10 3:13:55

补全项目信息,获得高质量技术博客的生成基础

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华