QAT のヒント - 2.5 日本語

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

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

次に QAT のヒントをいくつか示します。

Keras モデル

Keras モデルでは、浮動小数点トレーニング グラフを作成する前に backend.set_learning_phase(1) を設定し、浮動小数点評価グラフを作成する前に backend.set_learning_phase(0) を設定してください。さらに、backend.clear_session() の後に backend.set_learning_phase() を呼び出す必要があります。Tensorflow1.x QAT API は、Tensorflow ネイティブ トレーニング API 用に設計されています。QAT 内で Keras model.fit() API を使用すると、一部のノードが実行されないという問題が発生することがあります。Tensorflow2 量子化ツールの QAT API と Keras API を組み合わせて使用することを推奨します。

ドロップアウト
QAT は、ドロップアウトを使用しない方が効果が高いことが実験からわかっています。このツールは現在、ドロップアウトを使用した微調整をサポートしていないため、QAT を実行する前にドロップアウトを削除するか、または無効にする必要があります。ドロップアウトを無効にするには、tf.layers を使用する場合は is_training=false に設定し、tf.keras.layers を使用する場合は tf.keras.backend.set_learning_phase(0) を呼び出します。
ハイパーパラメーター
QAT は浮動小数点モデルのトレーニング/微調整によく似ているため、浮動小数点モデルのトレーニング/微調整の手法も必要とされます。調整する必要がある重要なパラメーターとして、オプティマイザーのタイプ、学習曲線などが挙げられます。