Freezing keeps selected model weights unchanged during training. In transfer learning, freeze a pretrained convolutional base while a newly added classifier learns, protecting previously learned representations from destructive updates. section 8.3.1
Freeze a pretrained base
In Keras, set `conv_base.trainable = False`, connect the base to a new dense classifier, and compile the model. Only the classifier’s weights are then trained. Recompile whenever trainability changes, or the optimizer may ignore the change. section 8.3.1
Use freezing as part of a staged transfer-learning workflow:
- Add the custom network, freeze the base, and train the added classifier before changing the base. section 8.3.2
- When fine-tuning, unfreeze all or selected upper layers; keep lower layers frozen because they encode more generic features. section 8.3.2
- Do not unfreeze BatchNormalization layers during this procedure. section 8.3.2
Figure 8.12 Swapping classifiers while keeping the same convolutional base
Visualizes swapping a classifier while retaining the same convolutional base. section 8.3.1

