Заморозка слоёв модели
Вы собираетесь дообучить модель на новой задаче после загрузки предобученных весов. Модель содержит три линейных слоя. Однако, поскольку ваш набор данных невелик, вы хотите обучить только последний линейный слой, заморозив первые два.
Модель уже создана и доступна через переменную model. Для перечисления параметров модели используйте метод named_parameters. Каждый параметр описывается именем — строкой, которая следует соглашению об именовании x.name, где x — индекс слоя.
Напомним, что линейный слой имеет два параметра: weight (веса) и bias (смещение).
Это упражнение является частью курса
Введение в глубокое обучение с PyTorch
Инструкции к упражнению
- Используйте оператор
if, чтобы проверить, является ли параметр весами первого или второго слоя. - Заморозьте веса первых двух слоёв этой модели.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
for name, param in model.named_parameters():
# Check for first layer's weight
if name == '____':
# Freeze this weight
param.____ = ____
# Check for second layer's weight
if name == '____':
# Freeze this weight
param.____ = ____