函数:set_aipp_by_input_index
C函数原型 |
aclError aclmdlSetAIPPByInputIndex(uint32_t modelId, aclmdlDataset *dataset, size_t index, const aclmdlAIPP *aippParmsSet) |
---|---|
Python函数 |
ret = acl.mdl.set_aipp_by_input_index(model_id, dataset_in, index, aipp) |
函数功能 |
动态AIPP场景下,根据指定的模型输入的输入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。 dataset_in:int,表示模型推理的输入数据的指针地址。 使用aclmdlDataset类型的数据描述模型推理时的输入数据,输入的内存地址、内存大小用aclDataBuffer类型的数据来描述,具体请参见aclmdlDataset。 index:int,表示在第几个输入上设置动态AIPP参数。如果该输入没有关联动态AIPP输入,则返回报错。 可调用acl.mdl.get_aipp_type查询指定模型的指定输入是否有关联的动态AIPP输入,若有,则本接口的index参数值与acl.mdl.get_aipp_type接口的index参数值保持一致;若无,则无需设置动态AIPP参数。 aipp:int,动态AIPP参数对象的指针地址。 提前调用acl.mdl.create_aipp接口创建aclmdlAIPP类型的数据。 |
返回值说明 |
ret:int,错误码。
|
约束说明 |
|
参考资源 |
抠图 |
缩放 |
补边(padding) |
动态AIPP输出图片的宽、高 |
---|---|---|---|
否 |
否 |
否 |
aippOutputW = srcImageSizeW aippOutputH = srcImageSizeH |
是 |
否 |
否 |
aippOutputW = cropSizeW aippOutputH = cropSizeH |
是 |
是 |
否 |
aippOutputW = scfOutputSizeW aippOutputH = scfOutputSizeH |
是 |
否 |
是 |
aippOutputW = cropSizeW + paddingSizeLeft + paddingSizeRight aippOutputH = cropSizeH + paddingSizeTop + paddingSizeBottom |
否 |
否 |
是 |
aippOutputW = srcImageSizeW + paddingSizeLeft + paddingSizeRight aippOutputH = srcImageSizeH + paddingSizeTop + paddingSizeBottom |
否 |
是 |
是 |
aippOutputW = scfOutputSizeW + paddingSizeLeft + paddingSizeRight aippOutputH = scfOutputSizeH + paddingSizeTop + paddingSizeBottom |
否 |
是 |
否 |
aippOutputW = scfOutputSizeW aippOutputH = scfOutputSizeH |
是 |
是 |
是 |
aippOutputW = scfOutputSizeW + paddingSizeLeft + paddingSizeRight aippOutputH = scfOutputSizeH + paddingSizeTop + paddingSizeBottom |