vitis_quantize.VitisQuantizer.get_qat_model - 2.5 日本語

Vitis AI ユーザー ガイド (UG1414)

Document ID
UG1414
Release Date
2022-06-15
Version
2.5 日本語

この関数は、QAT に使用する浮動小数点モデルを取得します。


vitis_quantize.VitisQuantizer.get_qat_model(
    init_quant=False,
    calib_dataset=None,
    calib_batch_size=None,
    calib_steps=None,
    train_with_bn=False,
    freeze_bn_delay=-1)

引数

init_quant
QAT の前に最初の量子化を実行するかどうかを指定する bool オブジェクト。最初に PTQ 量子化を実行すると、クオンタイザーのパラメーターの初期状態が改善します (特に 8bit_tqt ストラテジを使用した場合)。それ以外の場合、トレーニングが収束しないことがあります。
calib_dataset
tf.data.Datasetkeras.utils.Sequence、または np.numpy オブジェクト。キャリブレーション用の代表的なデータセット。「init_quant」が True の場合は、設定する必要があります。eval_dataset、train_dataset、またはその他のデータセットの全体または一部を calib_dataset として使用できます。
calib_steps
最初の PTQ の全ステップ数を指定する int オブジェクト。デフォルト値 (None) の場合は無視されます。「calib_dataset」が tf.data dataset、ジェネレーター、または keras.utils.Sequence インスタンスのいずれかで、ステップ数が None の場合、データセットがなくなるまでキャリブレーションが実行されます。この引数は、配列入力ではサポートされません。
calib_batch_size
最初の PTQ のバッチあたりのサンプル数を指定する int オブジェクト。「calib_dataset」の形式がデータセット、ジェネレーター、または keras.utils.Sequence インスタンスの場合、バッチ サイズはデータセット自体で制御します。「calib_dataset」の形式が numpy.array オブジェクトの場合、デフォルトのバッチ サイズは 32 です。
train_with_bn
QAT 時に bn レイヤーを保持するかどうかを指定する bool オブジェクト。True に設定した場合、量子化認識トレーニング中に bn パラメーターが更新され、モデルが収束しやすくなります。これらのトレーニング済み bn レイヤーは、get_deploy_model() 関数で前のたたみ込みのようなレイヤーに統合されます。浮動小数点モデルに bn レイヤーが存在しない場合、このオプションは無視されます。デフォルト値は False です。
freeze_bn_delay
bn パラメーターを凍結する前のトレーニングのステップ数を指定する int オブジェクト。ここで指定したステップ数が経過後、モデルは推論 bn パラメーターを切り替えてトレーニングが不安定になるのを防ぎます。train_with_bn が True の場合のみ適用されます。デフォルト値は -1 (bn を凍結しない) です。