The code looks alright. Do you see any errors or issues during training?
You should be a bit careful with wrapping all child modules into an nn.Sequential container:
self.feature_extractor = torch.nn.Sequential(*list(model.children())[:-1])

While this would work for simple models, it could break for models which are using functional API calls inside their forward method.
If you want to remove the last layer, you could replace it with an nn.Identity() module instead.