Применение прунинга к линейному слою
Мы обучили модель классификации изображений с полносвязным (линейным) слоем. Теперь нам предстоит применить неструктурированный прунинг к этому слою, чтобы уменьшить размер модели без существенной потери качества. Для этого воспользуемся методом l1_unstructured из PyTorch.
Модель предварительно загружена в переменную model.
Это упражнение является частью курса
Масштабируемые модели ИИ с PyTorch Lightning
Инструкции к упражнению
- Импортируйте модуль прунинга из
torch.nn.utils. - Примените прунинг
l1_unstructuredк слоюmodel[3](финальный слой) и удалите 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)