線形層にプルーニングを適用する
全結合(線形)層を使って画像分類モデルをトレーニングしました。次の課題は、この層に非構造化プルーニングを適用し、性能を大きく損なわずにモデルサイズを削減することです。この作業には、PyTorch の l1_unstructured メソッドを使用します。
モデルは model 変数としてすでに読み込まれています。
この演習はコースの一部です
PyTorch Lightning によるスケーラブルな AI モデルの構築
演習の手順
torch.nn.utilsからプルーニングモジュールをインポートします。- 最終層である
model[3]にl1_unstructuredプルーニングを適用し、重みの30%を削減します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import pruning module
import torch.nn.utils.prune as ____
# Before pruning
print(model)
# Apply L1 unstructured pruning to model[3]
prune.____(model[3], name="____", amount=____)
# After pruning
print(model)