Fix SetFitModel: not a dataclass, not a PyTorchModelHubMixin #505
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related to discussion triggered by huggingface/huggingface_hub#2157 (also internal slack).
SetFitModel
class is currently a dataclass which doesn't seem necessary and can have weird side-effect (especially withModelHubMixin
). This PR:@dataclass
fromSetFitModel
SetFitModel
inherit fromModelHubMixin
instead ofPytorchModelHubMixin
. The former is the generic class. The later is a specific class for model inheriting fromnn.Module
which is not the case here. The only benefit ofPytorchModelHubMixin
is to have_from_pretrained
and_save_pretrained
already implemented to load torch weights but in SetFit those methods are inherited anyway (since we don't want to load torch weights)SpanSetFitModel
andPolarityModel
accordinglycc @lewtun @tomaarsen @LysandreJik changes should work correctly but I haven't tested them extensively (especially the
SpanSetFitModel
subclass). Please let me know if you think of any oversight/other things to change.