通过
create_quant_retrain_config接口生成的config.json文件中的默认配置进行量化,若量化后的推理精度不满足要求,则按照如下步骤调整量化配置文件中的参数。
- 根据create_quant_retrain_config接口生成的默认配置进行量化。若精度满足要求,则调参结束,否则进行2。
- INT8量化场景下,可以将部分量化层取消量化,即将其"retrain_enable"参数修改为"false",通常模型首尾层对推理结果影响较大,故建议优先取消首尾层的量化;如果用户有推荐的clip_max和clip_min的参数取值,则可以按照如下方式修改量化配置文件:
{
"version":1,
"batch_num":1,
"inference/Conv2D":{
"retrain_enable":true,
"retrain_data_config":{
"algo":"ulq_quantize",
"clip_max":3.0,
"clip_min":-3.0
},
"retrain_weight_config":{
"algo":"arq_retrain",
"channel_wise":true
}
},
"inference/Conv2D_1":{
"retrain_enable":true,
"retrain_data_config":{
"algo":"ulq_quantize",
"clip_max":3.0,
"clip_min":-3.0
},
"retrain_weight_config":{
"algo":"arq_retrain",
"channel_wise":true
}
}
}
- 完成配置后,精度满足要求则调参结束;否则表明量化感知训练对精度影响很大,不能进行量化感知训练,去除量化感知训练配置。