news 2026/5/11 3:33:45

GE获取模型输出大小

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GE获取模型输出大小

aclmdlGetOutputSizeByIndex

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

产品支持情况

产品

是否支持

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas A2 训练系列产品 / Atlas A2 推理系列产品

功能说明

根据模型描述信息获取指定输出的大小,单位为Byte。

函数原型

size_t aclmdlGetOutputSizeByIndex(aclmdlDesc *modelDesc, size_t index)

参数说明

参数名

输入/输出

说明

modelDesc

输入

aclmdlDesc类型的指针。

需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。

index

输入

指定获取第几个输出的大小,index值从0开始。

返回值说明

针对动态Batch、动态分辨率(宽高)的场景,返回最大档位对应的输出的大小;静态场景下,返回指定输出的大小。单位是Byte。

约束说明

如果通过本接口获取的大小为0,有可能是由于输出Shape的范围不确定,当前支持以下两种处理方式:

  • 方式一:系统内部自行申请对应index的输出内存,节省内存,但内存数据使用结束后,需由用户释放内存,同时,系统内部申请内存时涉及内存拷贝,可能涉及性能损耗。该方式仅支持在使用aclmdlExecute、aclmdlExecuteV2推理接口时使用。

    调用aclCreateDataBuffer接口创建存放对应index输出数据的aclDataBuffer类型时,支持在data参数处传入nullptr,同时size需设置为0,表示创建一个空的aclDataBuffer类型,然后在模型执行过程中,系统内部自行计算并申请该index输出的内存。使用该方式可节省内存,但内存数据使用结束后,需由用户释放内存并重置aclDataBuffer,同时,系统内部申请内存时涉及内存拷贝,可能涉及性能损耗。

    释放内存并重置aclDataBuffer的示例代码如下:

    aclDataBuffer *dataBuffer = aclmdlGetDatasetBuffer(output, 0); // 根据index获取对应的dataBuffer void *data = aclGetDataBufferAddr(dataBuffer); // 获取data的Device指针 aclrtFree(data ); // 释放Device内存 aclUpdateDataBuffer(dataBuffer, nullptr, 0); // 重置dataBuffer里面内容,以便下次推理
  • 方式二:用户预估输出内存大小,并申请内存,由用户自行管理内存,但内存大小可能不够或超出,不够时系统会校验报错,超出时会浪费内存。

    用户需先根据实际情况预估一块较大的输出内存,在模型执行过程中,系统会校验用户指定的输出内存大小是否符合要求,如果不符合要求,系统会返回报错,并在报错信息中提示具体需要多大的输出内存。您可以通过以下两种方式查看报错:

    • 获取应用类日志,查看ERROR级别的报错,如何获取并查看日志请参见《日志参考》。
    • 在应用程序中调用aclGetRecentErrMsg接口获取报错。

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

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

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

昇腾AI处理器算子开发工具包:__half2float类型转换函数

__half2float 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.c…

作者头像 李华
网站建设 2026/5/11 3:24:13

【信息科学与工程学】【控制科学】第三篇 管理系统控制知识

管理系统控制知识 表K.144501 管理系统控制概述 项目 内容 定理/规律/数学方程式/集合特征/几何特征/拓扑特征/代数特征​ 1. 管理控制定义:控制系统S = (A, B, C, D),其中A是控制主体集合,B是被控对象集合,C是控制规则集合,D是信息流集合 2. 控制层级定理:高层战略控…

作者头像 李华
网站建设 2026/5/11 3:24:12

多智能体协同框架:从原理到实践,探索AI驱动的自动化开发新范式

1. 项目概述与核心价值最近在开源社区里,一个名为Bitropy/ccagents的项目引起了我的注意。乍一看这个标题,可能有些朋友会感到困惑,Bitropy和ccagents分别指代什么?这背后又隐藏着怎样的技术栈和应用场景?作为一个长期…

作者头像 李华
网站建设 2026/5/11 3:20:33

Stable Mean Teacher for Semi-supervised Video Action Detection

论文题目:【AAAI 2025】 【Stable Mean Teacher for Semi-supervised Video Action Detection】 论文作者:Akash Kumar, Sirshapan Mitra, Yogesh Singh Rawat 发表平台:Proceedings of the AAAI Conference on Artificial Intelligence (AAA…

作者头像 李华
网站建设 2026/5/11 3:16:03

大语言模型评测框架解析:从公平对比到工程选型实践

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫“ai-llm-comparison”。光看名字,你大概能猜到它是做什么的——对比不同的大语言模型。但如果你以为这只是个简单的跑分列表,那就太小看它了。作为一个在AI应用开发领域摸爬滚…

作者头像 李华