该算法用于训练后量化场景。
HFMG(Histogram Feature Map Glutton)算法通过直方图的方式来记录激活数据的数据分布,通过搜索的方式确定最佳的量化截断位置。量化原理如下所示:
该量化算法的数据放在内存中,和IFMR数据量化算法相比,更节省内存。该算法与IFMR数据量化算法同一层不能同时配置。
create_quant_config接口量化默认使用的为IFMR数据量化算法,如果想使用HFMG数据量化算法,则只能通过create_quant_config接口config_defination参数配置简易配置文件方式实现。
如果未获得最优的量化效果,则可以改变直方图的bin个数(直方图中的一个最小单位直方图形),选择量化误差更小的一组参数作为最终的量化结果。HFMG算法中,num_of_bins配置参数用来调整直方图的bin的数目,参数说明请参见训练后量化简易配置文件中HFMGQuantize的配置参数。通常情况下,num_of_bins数值越大,直方图拟合原始数据分布的能力越强,可能获得更佳的量化效果,但训练后量化过程的耗时也会更长。