When you “freeze” a model (or part of the model, or some layers in the model), you effectively disable learning. You set requires_grad=False meaning that no gradients will be calculate for that part in the model - so the model will not learn, i.e. the gradients will not be calculated and the optimizer will not update the weights. If you want to make those pretrained models “trainable” (or "fine-tune-able), you have to disable freezing.