vai_q_tensorflow2 API を使用した量子化 - 2.5 日本語

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

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

次のコードは、vai_q_tensorflow2 API を使用してトレーニング後の量子化を実行する方法を示しています。完全なサンプルは、ここにあります。


model = tf.keras.models.load_model(‘float_model.h5’)
from tensorflow_model_optimization.quantization.keras import vitis_quantize
quantizer = vitis_quantize.VitisQuantizer(model)
quantized_model = quantizer.quantize_model(calib_dataset=calib_dataset, 
                                           calib_step=100, 
                                           calib_batch_size=10,
                                           **kwargs) 
calib_dataset
ここでは、キャリブレーション用の代表的なキャリブレーション データセットとして calib_dataset を使用しています。eval_datasettrain_dataset、またはその他データセットのすべてあるいは一部を使用できます。
calib_steps
calib_steps は、キャリブレーションの全ステップ数です。デフォルト値は None です。calib_datasettf.data dataset、ジェネレーター、または keras.utils.Sequence インスタンスのいずれかで、ステップ数が None の場合、データセットがなくなるまでキャリブレーションが実行されます。この引数は、配列入力ではサポートされません。
calib_batch_size
calib_batch_size は、キャリブレーションのバッチあたりのサンプル数です。「calib_dataset」の形式がデータセット、ジェネレーター、または keras.utils.Sequence インスタンスの場合、バッチ サイズはデータセット自体で制御します。calib_dataset の形式が numpy.array オブジェクトの場合、デフォルトのバッチ サイズは 32 です。
**kwargs

量子化ストラテジのユーザー定義の設定を指定する dict。デフォルトの内蔵量子化ストラテジをオーバーライドします。たとえば、bias_bit=16 に設定すると、量子化ツールは 16 ビット クオンタイザーを使用してすべてのバイアスを量子化します。ユーザー定義の設定の詳細は、vai_q_tensorflow2 の使用法 を参照してください。