Module 07 Activity
Scenario
You have a pretrained backbone and a few hundred labelled examples. Decide between freezing and fine-tuning on evidence.
Task
- Count trainable parameters under feature extraction and under fine-tuning.
- Freeze all but the last layer, train, then verify by comparing weights before and after.
- Record the size and memory cost of three backbone widths, and write the provenance questions you
would need answered before adopting one.
- Build a dataset with a repeated unit. Score a random split and a grouped split, and explain the gap.
- Set up discriminative learning rates with a scheduler, and confirm the ratio holds as both decay.
- Run both approaches on the same split and report both against the baseline.
Deliverable
An experiment memo with both scores, both trainable-parameter counts, the learning rates used, and a verdict.
Check your work
- Only the unfrozen layer's parameters change. Verify by comparison, not by reading the code.
- The random split scores higher than the grouped split — and the lower number is the honest one.
scheduler.step()belongs once per epoch, after the optimiser.
The verdict to write
If freezing matched fine-tuning, ship the frozen version. On small data it frequently does.
