Hello @Dwight_Foster?
I think the part of code he shows is not incorrect. In fact, I think this the standard way of freezing gradient: if he don’t set  param.requires_grad = False, all gradients well be computed during the backward iteration, which is not memory efficient if he don’t was to use all of them to update the model.
He probably did a mistake when creating the optimizer, and need to create it as you said



 Dwight_Foster:

optimizer  = optim.Adam(mobilenetv3.fc.parameters())