PyTorch バージョン - vai_p_pytorch - 2.5 日本語

Vitis AI オプティマイザー ユーザー ガイド (UG1333)

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

PyTorch 上のプルーニング ツールは Python パッケージであり、実行可能なプログラムではありません。vai_p_pytorch では次の 3 つの方法でモデルをプルーニングできます。

反復プルーニングとワンステップ プルーニングは、一般的なたたみ込みレイヤーを含むネットワークに適していますが、MobileNet-v2 などの depthwise たたみ込みベースのネットワークでは、あまり高い精度は得られません。たたみ込みニューラル ネットワーク (CNN) には、一般に BatchNormalization レイヤーが含まれます。これらのネットワークには、より高速で高い精度が得られるワンステップ プルーニングを推奨します。VGGNet のように、ネットワークに BatchNormalization レイヤーがない場合は、反復プルーニングを使用する必要があります。

OFA は、depthwise たたみ込みと一般的なたたみ込みの両方に使用できます。OFA で良好なプルーニング結果を得るのは簡単ではありませんが、理論的には 3 つのうち最も優れた方法と言えます。OFA プルーニングの結果は、どれだけうまくスーパーネットワークに学習させることができるかに依存します。したがって、長い学習時間と高度な学習スキルが必要になります。

まとめると、ネットワークに BatchNormalization レイヤーがある場合は、ワンステップ プルーニングを使用してください。それ以外の場合は、反復プルーニングを使用してください。満足のいくプルーニング結果が得られない場合は、代わりに OFA のアプローチを使用できます。