函数:set_input_aipp
| C函数原型 | aclError aclmdlSetInputAIPP(uint32_t modelId, aclmdlDataset *dataset, size_t index, const aclmdlAIPP *aippParmsSet) | 
|---|---|
| Python函数 | ret = acl.mdl.set_input_aipp(model_id, dataset, index, aipp_parms_set) | 
| 函数功能 | 动态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:int,表示模型的输入数据,使用aclmdlDataset类型的数据描述模型推理时的输入数据,输入的内存地址、内存大小用aclDataBuffer类型的数据来描述。 index:int,标识动态AIPP输入的输入index。 
 aipp_parms_set:int,动态AIPP参数对象的指针地址,需提前调用acl.mdl.create_aipp接口创建aclmdlAIPP类型的数据。 | 
| 返回值说明 | ret:int,错误码 
 | 
| 约束说明 | 经过动态AIPP处理后的图像的宽、高必须与原始模型中输入Shape中的宽、高保持一致。 
 | 
| 参考资源 | 接口调用流程与示例,参见动态AIPP(单个动态AIPP输入)。 | 
| 抠图 | 缩放 | 补边(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 |