-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consolidate hyperopt schema in ludwig.schema.hyperopt
#3190
Conversation
ludwig.schema.hyperopt
ludwig.schema.hyperopt
The latest failures required a rewrite of the nested parameter check because of the case where we were hyperopting over specific combiner configs, and checking against the defaults led to a validation error when |
field_type = fields.Float() | ||
elif list_type is list: | ||
field_type = fields.List(fields.Float()) | ||
type_map = {str: fields.String, int: fields.Integer, float: fields.Float} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👌
("out_feature.foo.num_fc_layers", True), | ||
], | ||
) | ||
def test_parameter_key_check(referenced_parameter, raises_exception): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👌
ludwig/config_validation/checks.py
Outdated
else: | ||
config.__getattribute__(k) | ||
except AttributeError: | ||
invalid_fields.append(nested_path) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is awesome
Looks like the tagger decoder failures were happening because the check was de-registered at some point. That can happen when merging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀
Amazing work 👏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! A lot of great work in this PR :)
The hyperopt search algorithm schemas are defined in
ludwig.hyperopt
, and they currently work with dictionary schemas rather than dataclasses. This update will move all hyperopt schema intoludwig.schema.hyperopt
and update hyperopt to work with object schemas.