VitisQuantizer
类的构造函数。
vitis_quantize.VitisQuantizer(
float_model,
quantize_strategy='pof2s',
custom_quantize_strategy=None,
custom_objects={})
实参
- float_model
-
tf.keras.Model
对象,包含量化配置。 - quantize_strategy
- 表示量化策略类型的字符串对象。可用值包括:
pof2s
、pof2s_tqt
、fs
和fsx
。pof2s
是专为 DPU 设计的默认策略。它使用 2 的幂值比例的量化器和 Straight-Through-Estimator(直通式估算器)来执行 QAT。pof2s_tqt
是 Vitis AI 1.4 中引入的仅适用于 QAT 的策略,在量化器中使用经训练的阈值,这样可能会为 2 的幂值比例的 QAT 生成更好的结果。fs
是 Vitis AI 2.5 版本中新引入的量化策略。它会对 Conv2D、DepthwiseConv2D、Conv2DTranspose 和 Dense 层的输入和权重执行浮点比例量化。相比于 fs 量化策略,fsx
量化策略会对更多类型的层执行量化,例如,Add、MaxPooling2D 和 AveragePooling2D。此外,它还会量化偏差和激活。注释: pof2s_tqt 策略只能用于 QAT,并且应与init_quant=True
一起使用以获得最佳性能。注释:fs
和fsx
策略都是专为具有浮点支持的目标器件设计的。DPU 当前不支持浮点,因此以这些量化策略进行量化的模型无法部署到 DPU。 - custom_quantize_strategy
- string。表示定制量化策略 JSON 文件的文件路径。
- custom_objects
- dict。用于将名称(字符串)映射到定制类或函数。