Lineare Ebene beschneiden
Wir haben ein Bildklassifizierungsmodell mit einer vollständig verbundenen (linearen) Schicht trainiert. Jetzt müssen wir diese Schicht unstrukturiert beschneiden, um das Modell zu verkleinern, ohne die Leistung zu beeinträchtigen. Für diese Aufgabe nehmen wir die Methode „ l1_unstructured
” von PyTorch.
Das Modell ist schon als Variable „ model
“ geladen.
Diese Übung ist Teil des Kurses
Skalierbare KI-Modelle mit PyTorch Lightning
Anleitung zur Übung
- Importier das Modul zum Beschneiden von
torch.nn.utils
. - Wende den Schnitt „
l1_unstructured
“ auf „model[3]
“, die letzte Ebene, an und reduziere die Gewichte um 30 %.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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)