I have code like this:
model = nn.Sequential( create_body(resnet101, cut=-2), create_head(2048, 50, lin_ftrs=), ) learn = Learner(dls, model, ...) learn.freeze() learn.fit_one_cycle(10, 1e-4)
I expected that this would freeze the body, and only update the weights for the head.
In reality, when I manually inspected the weights of the body after training, they were different! Why did they change? Does
learn.fit_one_cycle automatically unfreeze the model after one epoch or something?