Pytorch モデルの量子化を可能にするには、モデルの定義を変更して次の条件を満たすようにする必要があります。サンプルは Vitis AI の GitHub にあります。
- 量子化されるモデルには、forward メソッドのみが含まれている必要があります。その他のすべての関数は、外部または派生クラスへ移動する必要があります。これらの関数は、通常は前処理および後処理として機能します。これらの関数は、外部へ移動しなければ API によって量子化されるモジュール内で削除されるため、量子化されたモジュールの転送時に予測不可能な動作が発生する可能性があります。
- 浮動小数点モデルは、jit トレース テストに合格する必要があります。浮動小数点モジュールを評価ステータスに設定し、
torch.jit.trace
関数を使用して浮動小数点モデルをテストします。