クラス 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
で、2 のべき乗スケールのクオンタイザーと Straight-Through-Estimator を使用します。pof2s_tqt
は Vitis AI 1.4 で導入されたストラテジで、2 のべき乗スケールのクオンタイザーの Trained-Threshold を使用します。これにより、QAT の結果が改善されることがあります。fs
は Vitis AI 2.5 で導入された新しい量子化ストラテジで、Conv2D、DepthwiseConv2D、Conv2DTranspose および Dense レイヤーの入力と重みに対して浮動小数点スケールを使用した量子化を実行します。fsx
量子化ストラテジは、fs 量子化ストラテジよりも多くのレイヤー タイプ (Add、MaxPooling2D および AveragePooling2D など) に対して量子化を実行します。さらに、バイアスとアクティベーションも量子化します。注記: pof2s_tqt ストラテジは QAT でのみ使用してください。init_quant=True
と組み合わせると、最大限の性能が得られます。注記:fs
およびfsx
ストラテジは、浮動小数点をサポートするターゲット デバイス向けに設計されています。DPU は現在、浮動小数点をサポートしていないため、これらの量子化ストラテジで量子化されたモデルは DPU で運用できません。 - custom_quantize_strategy
- カスタム量子化ストラテジの JSON ファイルのパスを指定する文字列オブジェクト。
- custom_objects
- 名前 (文字列) をカスタム クラスまたは関数にマップする Dict オブジェクト。