昇腾社区首页
中文
注册

函数:get_output_dims

产品支持情况

产品

是否支持

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

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

功能说明

根据模型描述获取指定的模型输出Tensor的维度信息。

  • 固定Shape场景下,通过该接口获取指定的模型输出Tensor的维度信息。
  • 动态Shape(动态Batch或动态分辨率)场景下,通过该接口获取最大档的维度信息。

函数原型

  • C函数原型
    1
    aclError aclmdlGetOutputDims(const aclmdlDesc *modelDesc, size_t index, aclmdlIODims *dims)
    
  • python函数
    1
    dims, ret = acl.mdl.get_output_dims(model_desc, index)
    

参数说明

参数名

说明

model_desc

int,aclmdlDesc类型数据的指针地址。

需提前调用acl.mdl.create_desc接口创建aclmdlDesc类型的数据。

index

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

返回值说明

返回值

说明

dims

dict,针对多batch或多种宽高的场景,按照该字典的数组返回其支持的最大档的组合,具体请参见aclmdlIODims

dims = {
        "name": xxx, #tensor name
        "dimCount":xxx,#shape中的维度个数
        "dims": [xx, xx, xx]   # 维度信息
        }
  • 若Tensor的“name”长度大于127,则在输出dims["name"]时,会将Tensor的“name”转换为“acl_modelId_${id}_input_${index}_${随机字符串} ”格式并在转换后的“name”与原“name”之间建立映射关系,用户可调用acl.mdl.get_tensor_real_name接口,传入转换后的“name”,获取原“name”(若向接口传入原“name”,则获取的还是原“name”)。
    说明:

    如果转换后的Tensor的“name”与模型中已有的Tensor的“name”冲突,则会在转换后的“name”尾部增加“_${随机字符串} ”,否则不会增加随机字符串。

  • 若Tensor的“name”长度小于或等于127,则在输出的dims["name"]时,按Tensor的“name”输出。

ret

int,错误码。

  • 返回0表示成功。
  • 返回其它值表示失败。