函数:get_output_dims

C函数原型

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

Python函数

dims, ret = acl.mdl.get_output_dims(model_desc, index)

函数功能

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

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

输入说明

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"]时,pyACL会将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表示成功。
  • 返回其它值表示失败。

约束说明