Appliquer la taille à une couche linéaire
Nous avons formé un modèle de classification d'images à l'aide d'une couche entièrement connectée (linéaire). À présent, nous devons appliquer un élagage non structuré à cette couche afin de réduire la taille du modèle sans affecter de manière significative les performances. Nous utiliserons la méthode d'l1_unstructured
de PyTorch pour cette tâche.
Le modèle est préchargé dans la variable model
.
Cet exercice fait partie du cours
Modèles d'IA évolutifs avec PyTorch Lightning
Instructions
- Veuillez importer le module de taille à partir de l'adresse suivante :
torch.nn.utils
. - Appliquez la taille «
l1_unstructured
» à «model[3]
», la dernière couche, et réduisez les poids de 30 %.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)