Ставят param.requires_grad=False у нужных параметров и передают в optimizer только trainable; иногда отдельно BN в eval.
Разбор
- Проверьте, что optimizer создан с фильтром trainable.
- Постепенный unfreeze — частая стратегия.
- Diff LR: малый lr у backbone, больший у головы.
named_parameters помогает фильтровать по префиксу.
Итог
Freeze = requires_grad False + optimizer только на активных весах.