Zastosowanie przycinania do warstwy liniowej
Wytrenowaliśmy model klasyfikacji obrazów z w pełni połączoną warstwą liniową. Teraz zastosujemy do tej warstwy przycinanie niestrukturalne (unstructured pruning), aby zmniejszyć rozmiar modelu bez istotnego wpływu na jego wydajność. Skorzystamy z metody l1_unstructured dostępnej w PyTorch.
Model jest wstępnie załadowany jako zmienna model.
To ćwiczenie jest częścią kursu
Skalowalne modele AI z PyTorch Lightning
Instrukcje do ćwiczenia
- Zaimportuj moduł przycinania z
torch.nn.utils. - Zastosuj przycinanie
l1_unstructureddomodel[3]– ostatniej warstwy – i przytnij 30% wag.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)