静态AIPP配置示例
AIPP配置文件支持定义多组AIPP配置,对不同的模型输入进行不同的AIPP处理,配置多组AIPP参数时,将一组AIPP配置放到一个aipp_op配置项里;如果模型只有一个输入,则只需要配置第一组aipp_op即可。
如下示例以网络模型为多输入时进行说明:
- 静态AIPP+动态shape场景:模型转换时,通过--insert_op_conf参数设置了静态AIPP,又通过--input_shape设置了动态shape,则:
如果模型只有一个输入,该场景不支持;如果模型有多个输入,则必须对不同的输入节点进行设置,比如一个输入节点设置静态AIPP,另外一个节点设置动态shape。
- 如果模型转换时,用户设置了--dynamic_image_size动态分辨率参数,即输入图片的宽和高不确定,同时又通过--insert_op_conf参数设置了静态AIPP功能:该场景下,AIPP配置文件中不能开启Crop和Padding功能,并且需要将配置文件中的src_image_size_w和src_image_size_h取值设置为0。
- 使用related_input_rank参数标识,对模型第几个输入进行AIPP处理,如下配置定义了两组AIPP参数,分别对模型第一个和第二个输入进行AIPP处理:
aipp_op { aipp_mode : static related_input_rank : 0 # 标识对第1个输入进行AIPP处理 src_image_size_w : 608 src_image_size_h : 608 crop : false input_format : YUV420SP_U8 csc_switch : true rbuv_swap_switch : false matrix_r0c0 : 298 matrix_r0c1 : 0 matrix_r0c2 : 409 matrix_r1c0 : 298 matrix_r1c1 : -100 matrix_r1c2 : -208 matrix_r2c0 : 298 matrix_r2c1 : 516 matrix_r2c2 : 0 input_bias_0 : 16 input_bias_1 : 128 input_bias_2 : 128 mean_chn_0 : 104 mean_chn_1 : 117 mean_chn_2 : 123 } aipp_op { aipp_mode : static related_input_rank : 1 # 标识对第2个输入进行AIPP处理 src_image_size_w : 608 src_image_size_h : 608 crop : false input_format : YUV420SP_U8 csc_switch : true rbuv_swap_switch : false matrix_r0c0 : 298 matrix_r0c1 : 0 matrix_r0c2 : 409 matrix_r1c0 : 298 matrix_r1c1 : -100 matrix_r1c2 : -208 matrix_r2c0 : 298 matrix_r2c1 : 516 matrix_r2c2 : 0 input_bias_0 : 16 input_bias_1 : 128 input_bias_2 : 128 mean_chn_0 : 104 mean_chn_1 : 117 mean_chn_2 : 123 }
- 使用related_input_name参数标识,对模型第几个输入进行AIPP处理,此处需要填写为模型输入的name(input对应的值)或者模型首层节点的输出(top参数对应的取值),该参数只适用于Caffe网络模型,且不能与related_input_rank参数同时使用,如果同时配置,related_input_name优先级高于related_input_rank。如下配置定义了两组AIPP参数,分别对模型第一个和第二个输入进行AIPP处理:
aipp_op { aipp_mode : static related_input_name : "data" # 标识对第1个输入进行AIPP处理 src_image_size_w : 608 src_image_size_h : 608 crop : false input_format : YUV420SP_U8 csc_switch : true rbuv_swap_switch : false matrix_r0c0 : 298 matrix_r0c1 : 0 matrix_r0c2 : 409 matrix_r1c0 : 298 matrix_r1c1 : -100 matrix_r1c2 : -208 matrix_r2c0 : 298 matrix_r2c1 : 516 matrix_r2c2 : 0 input_bias_0 : 16 input_bias_1 : 128 input_bias_2 : 128 mean_chn_0 : 104 mean_chn_1 : 117 mean_chn_2 : 123 } aipp_op { aipp_mode : static related_input_name : "im_info" # 标识对第2个输入进行AIPP处理 src_image_size_w : 608 src_image_size_h : 608 crop : false input_format : YUV420SP_U8 csc_switch : true rbuv_swap_switch : false matrix_r0c0 : 298 matrix_r0c1 : 0 matrix_r0c2 : 409 matrix_r1c0 : 298 matrix_r1c1 : -100 matrix_r1c2 : -208 matrix_r2c0 : 298 matrix_r2c1 : 516 matrix_r2c2 : 0 input_bias_0 : 16 input_bias_1 : 128 input_bias_2 : 128 mean_chn_0 : 104 mean_chn_1 : 117 mean_chn_2 : 123 }
父主题: AIPP配置示例