クラス 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 のデフォルト ストラテジです。これは、QAT に 2 のべき乗スケールのクオンタイザーとストレート スルー エスティメーターを使用します。pof2s_tqt
は Vitis AI 1.4 で導入された QAT 専用ストラテジでクオンタイザーのトレーニング済みしきい値を使用します。これにより、2 のべき乗スケールの 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。名前 (文字列) をカスタム クラスまたは関数にマップします。