函数:get_input_dims
C函数原型 |
aclError aclmdlGetInputDims(const aclmdlDesc *modelDesc, size_t index, aclmdlIODims *dims) |
---|---|
Python函数 |
dims, ret = acl.mdl.get_input_dims(model_desc, index) |
函数功能 |
根据模型描述获取模型的输入tensor的维度信息。同步接口。 如果模型中含有静态AIPP配置信息,您可以根据实际需要选择acl.mdl.get_input_dims接口或acl.mdl.get.input_dims_v2接口查询维度信息,两者的区别在于: |
输入说明 |
model_desc:int,aclmdlDesc类型数据的指针地址。 index:int,指定获取第几个输入的dims,index值从0开始。 |
返回值说明 |
dims:dict,针对多batch或多种宽高的场景,按照该字典的数组返回其支持的最大档的组合。 dims = { "name": xxx, #tensor name "dimCount":xxx,#shape中的维度个数 "dims": [xx, xx, xx] # 维度信息 } 针对动态Batch、动态分辨率(宽高)的场景,输入tensor的dims中Batch数或宽高为-1,表示其动态可变。例如,输入tensor的format为NCHW,在动态Batch场景下,动态可变的输入tensor的dims为[-1,3,224,224];在动态分辨率场景下,动态可变的输入tensor的dims为[1,3,-1,-1]。举例中的斜体部分以实际情况为准。 若tensor的name长度大于127,则在输出的dims.name时,pyACL会将tensor的name转换为“acl_modelId_${id}_input_${index}_${随机字符串} ”格式(如果转换后的tensor的name与模型中已有的tensor的name冲突,则会在转换后的name尾部增加“_${随机字符串} ”,否则不会增加随机字符串),并在转换后的name与原name之间建立映射关系,用户可调用acl.mdl.get_tensor_real_name接口,传入转换后的name,获取原name(若向接口传入原name,则获取的还是原name);若tensor的name长度小于或等于127,则在输出的dims.name时,按tensor的name输出。 ret:int,错误码。
|
约束说明 |
无 |