news 2026/9/10 12:23:00

CANN/GE动态维度获取API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/GE动态维度获取API

aclmdlGetInputDynamicDims

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

产品支持情况

产品

是否支持

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

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

功能说明

根据模型描述信息获取模型的输入所支持的动态维度信息。

函数原型

aclError aclmdlGetInputDynamicDims(const aclmdlDesc *modelDesc, size_t index, aclmdlIODims *dims, size_t gearCount)

参数说明

参数名

输入/输出

说明

modelDesc

输入

aclmdlDesc类型的指针。

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

index

输入

预留参数,当前未使用,固定设置为-1。

dims

输出

输入的动态维度信息的指针。

dims参数是一个数组,数组中的每个元素指向aclmdlIODims结构,aclmdlIODims结构体中的dims参数也是一个数组,该数组中的每个元素对应每一档中的具体值。

例如

aclmdlIODims dims[gearCount]; aclmdlGetInputDynamicDims(model.modelDesc, -1, dims, gearCount);

gearCount

输入

模型支持的动态维度档位数,需要先通过aclmdlGetInputDynamicGearCount接口获取。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError。

约束说明

只有在模型构建时设置了动态维度的分档信息后,才可以调用该接口获取动态维度信息。

例如,模型有三个输入,分别为data(1, 1, 40, -1),label(1, -1),mask(-1, -1) , 其中-1表示动态可变。在模型转换时,dynamic_dims参数的配置示例为:--dynamic_dims="20,20,1,1;40,40,2,2;80,60,4,4",则通过本接口获取的动态维度信息为(**aclmdlIODims**结构体内的name暂不使用):

  • 第0档:

    • **aclmdlIODims**结构体内dimCount:8,表示所有输入tensor的维度数量之和
    • **aclmdlIODims**结构体内的dims:“1,1,40,20,1,20,1,1”,表示data(1,1,40,20)+label(1,20)+mask(1,1)
  • 第1档:

    • **aclmdlIODims**结构体内dimCount:8,表示所有输入tensor的维度数量之和
    • **aclmdlIODims**结构体内的dims:“1,1,40,40,1,40,2,2”,表示data(1,1,40,40)+label(1,40)+mask(2,2)
  • 第2档:

    • **aclmdlIODims**结构体内dimCount:8,表示所有输入tensor的维度数量之和
    • **aclmdlIODims**结构体内的dims:“1,1,40,80,1,60,4,4”,表示data(1,1,40,80)+label(1,60)+mask(4,4)

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

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

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

大数据分布式计算中的序列化优化实践与性能对比

1. 大数据分布式计算中的序列化优化概述 在分布式计算环境中,数据需要在不同节点间频繁传输,序列化性能直接影响整个系统的吞吐量和延迟。我曾在一个日处理PB级数据的计算平台上,仅仅通过优化序列化方案就将整体作业执行时间缩短了23%。这让我…

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

多导联ECG分类的Transformer实战:PyTorch端到端实现

简介:本资源是一套基于PyTorch实现的多导联心电图(ECG)二分类完整项目,面向生物医学工程、AI医疗方向的初学者与进阶学习者,解决传统CNN在长程时序建模中对全局依赖捕捉不足的问题。压缩包共32个文件,含9个…

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

CANN/GE模型数据集缓冲计数接口

aclmdlGetDatasetNumBuffers 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch…

作者头像 李华
网站建设 2026/9/10 12:12:40

嵌入式代码重构:用状态机与事件驱动告别意大利面条式架构

要是让我用一个场景来形容很多嵌入式项目的真实状态,那就是:刚写完那一周觉得逻辑清清楚楚,三个月后再打开,光是要搞清楚某个外设的中断回调到底被谁改过状态、哪个全局变量又在哪个 if 分支里被悄悄赋值,就得花掉半天…

作者头像 李华