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.
This PR adds an internal API for hyperparameters. The basic idea is that the model classes now have a
@store_hyperparameters
decorator that changes the class to automatically store all given hyperparameters in ahyperparameters
field. Example:Unfortunately, classes still have to declare the
hyperparameters
class variable for pyright to pick up on the field.While all models now have a
hyperparameters
field, this field is not part of the public API (for now). In this PR, I just add implementation for hyperparameters and use them in tests.Speaking of tests:
assert_loads_correctly
now uses the new hyperparameters to test whether a model was loaded correctly. This is much stricter than the old opt-in system viacondition=...
and already found a few minor differences between detected hyperparameters.A future PR will deal with defining the public API for hyperparameters.