Skip to main content

函数:get_dynamic_hw

函数:get_output_index_by_name

C函数原型aclError aclmdlGetOutputIndexByName(const aclmdlDesc *modelDesc, const char *name, size_t *index)
Python函数index, ret = acl.mdl.get_output_index_by_name(model_desc, name)
函数功能根据模型中的输出名称获取对应输出的索引编号。同步接口。
输入说明model_desc:int,aclmdlDesc类型数据的指针地址。 name:str,指定输入名称。
返回值说明index:int,获取对应输入的索引编号。 ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明

父主题: aclmdlDesc

函数:get_dynamic_batch

C函数原型aclError aclmdlGetDynamicBatch(const aclmdlDesc *modelDesc, aclmdlBatch *batch)
Python函数batch, ret = acl.mdl.get_dynamic_batch(model_desc)
函数功能获取模型支持的动态Batch信息。同步接口。
输入说明model_desc:int,aclmdlDesc类型数据的指针地址。
返回值说明batch:dict,获取的模型支持的动态Batch信息。
- batch = { "batchCount": int,#模型中支持的batch分档数 "batch":[xx, xx,] # 模型中支持的具体分档 } 模型中支持的最大batch数为128。
- batchCount等于0时,表示不支持设置档位信息,以模型中的档位为准。
ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明

父主题: aclmdlDesc

函数:get_dynamic_hw

C函数原型aclError aclmdlGetDynamicHW(const aclmdlDesc *modelDesc, size_t index, aclmdlHW *hw)
Python函数hw_info, ret = acl.mdl.get_dynamic_hw(model_desc, index**)**
函数功能获取模型支持的动态宽高信息。同步接口。
输入说明model_desc:int,aclmdlDesc类型数据的指针地址。 index:预留参数,当前未使用,固定设置为-1。
返回值说明hw_info:dict,获取的模型支持的宽高信息
- hw_info= { "hwCount": int,#模型中支持的宽高分档数 "hw":[xx, xx,] # 模型中支持的具体分档,每组分档中,数组下标为0代表的是高,下标为1代表的是宽 } 最大的HW数量为128
- hwCount等于0时,表示不支持设置档位信息,以模型中的档位为准。
ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明

父主题: aclmdlDesc

函数:get_cur_output_dims

C函数原型aclError aclmdlGetCurOutputDims(const aclmdlDesc *modelDesc, size_t index, aclIODims *dims)
Python函数dims, ret = acl.mdl.get_cur_output_dims(model_desc, index**)**
函数功能根据模型描述信息获取指定的模型输出tensor的实际维度信息。同步接口。
输入说明model_desc:int,aclmdlDesc类型数据的指针地址。 需提前调用acl.mdl.create_desc接口创建aclmdlDesc类型的数据。 index:int,指定获取第几个输出的Dims,index值从0开始。
返回值说明dims:dict,输出实际维度信息。 若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,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明动态Shape(动态Batch或动态分辨率或动态维度(ND格式))场景下,如果用户已调用acl.mdl.set_dynamic_batch_size设置Batch、或调用acl.mdl.set_dynamic_hw_size接口设置输入图片的宽高、或调用acl.mdl.set_input_dynamic_dims接口设置某动态维度的值,则可通过该接口获取指定模型输出tensor的实际维度信息;如果用户未调用acl.mdl.set_dynamic_batch_size接口、或acl.mdl.set_dynamic_hw_size接口、或acl.mdl.set_input_dynamic_dims接口,则通过该接口可获取最大档的维度信息。 非动态Shape场景下,通过该接口获取指定的模型输出tensor的维度信息。

父主题: aclmdlDesc

函数:get_first_aipp_info

C函数原型aclError aclmdlGetFirstAippInfo(uint32_t modelId, size_t index, aclAippInfo *aippInfo)
Python函数aipp_info, ret = acl.mdl.get_first_aipp_info(model_id, index)
函数功能获取模型静态AIPP的配置信息。同步接口。 AIPP支持的几种操作的计算方式及其计算顺序如下:抠图->色域转换->缩放(当前版本不支持缩放)->减均值/归一化->padding。
输入说明model_id:int,模型ID。 调用acl.mdl.load_from_file接口/acl.mdl.load_from_mem接口/acl.mdl.load_from_file_with_mem接口/acl.mdl.load_from_mem_with_mem接口加载模型成功后,会返回模型ID。 index:int,指定模型的第几个输入。
返回值说明aipp_info:dict,获取指定输入上静态AIPP的配置信息。 ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明如果使用本接口获取模型中动态AIPP的信息,只能获取aclAippInfo中如下参数的值:srcFormat、srcDatatype、srcDimNum、shapeCount、outDims,其它参数值无效。 aclAippInfo结构体以字典返回,字典中的key对应结构体的成员名。

父主题: aclmdlDesc

函数:get_input_dynamic_gear_count

C函数原型aclError aclmdlGetInputDynamicGearCount(const aclmdlDesc *modelDesc, size_t index, size_t *gearCount)
Python函数gear_count, ret = acl.mdl.get_input_dynamic_gear_count(model_desc, index)
函数功能根据模型描述信息获取模型的输入所支持的动态维度档位数。同步接口。
输入说明model_desc:int,aclmdlDesc类型数据的指针地址。 index:int,预留参数,当前未使用,固定设置为-1。
返回值说明gear_count:int, 动态维度档位数。 例如,模型的输入tensor是4维,在模型转换时通过--dynamic_dims参数设置的分档为“1,3,224,224;2,3,224,224;1,3,256,256”,那么通过该接口获取的动态维度档位数为3。 ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明如果模型构建时没有设置动态维度的分档,那么通过该接口获取的动态维度档位数为0。模型构建的详细说明请参见模型构建

父主题: aclmdlDesc

在线提单