(可选)vai_q_tensorflow2 快速微调 - 3.5 简体中文

Vitis AI 用户指南 (UG1414)

Document ID
UG1414
Release Date
2023-09-28
Version
3.5 简体中文

通常量化后存在少许精度损失,但对于特定网络(如 MobileNet),精度损失可能较为显著。为此,快速微调使用 AdaQuant 算法,利用未标记的校准数据集逐层调整权重和量化参数,以提升特定模型的精度。

虽然快速微调所需的时间比普通 PTQ 更长(由于 calib_dataset 较小,所用时间仍比 QAT 短得多),但默认处于关闭状态。不过,如果遇到精度问题,可将其启用来提高性能。推荐工作流程是尝试 PTQ 而不进行快速微调,如果对精度不满意,则可尝试量化。

QAT 是改善精度的另一种方法,但它需要更多时间并且依赖于训练数据集。要在训练后量化期间激活快速微调,请设置 include_fast_ft=True

quantized_model = quantizer.quantize_model(calib_dataset=calib_dataset, calib_steps=None, calib_batch_size=None, include_fast_ft=True, fast_ft_epochs=10) 

这里,

  • include_fast_ft 用于判定是否执行快速微调。
  • fast_ft_epochs 表示每层的微调轮数。