-
Notifications
You must be signed in to change notification settings - Fork 455
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
* refactor(sdk): added option for custom metric collector for tune in… #2406
Changes from 2 commits
6c85385
b746da0
516cabe
67c9b78
a0a7e53
80a718c
9245bcd
83ecb32
2d8ecd0
2222b99
3f4ea55
a51b863
1aa9c48
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -186,7 +186,7 @@ def tune( | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
retain_trials: bool = False, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
packages_to_install: List[str] = None, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pip_index_url: str = "https://pypi.org/simple", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
metrics_collector_config: Dict[str, Any] = {"kind": "StdOut"}, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
metrics_collector_config: Dict[str, Any] = {"kind": "StdOut", "custom_collector": None}, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
): | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"""Create HyperParameter Tuning Katib Experiment from the objective function. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -251,8 +251,8 @@ def tune( | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pip_index_url: The PyPI url from which to install Python packages. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
metrics_collector_config: Specify the config of metrics collector, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
for example, `metrics_collector_config = {"kind": "Push"}`. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Currently, we only support `StdOut` and `Push` metrics collector. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
for using custom metric collectors use "custom_collector" key, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
for example, `metrics_collector_config = {"custom_collector": "prometheus"}`. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I guess katib/pkg/apis/controller/common/v1beta1/common_types.go Lines 216 to 220 in 8eb0e86
Here are some relevant resources which may be helpful for you: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Btw,
Can you add some comments to remind users of this usage? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, can you add some e2e tests like this (an example for
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks @Electronic-Waste, I have made the appropriate changes in the function comments to reflect the correct usage for e2e tests, should I modify the existing There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @prakhar479 I think modifying the existing Also a small tip for reference: you can build images you need here katib/test/e2e/v1beta1/scripts/gh-actions/build-load.sh Lines 166 to 170 in 8eb0e86
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks @Electronic-Waste for the helpful insights 😄 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Raises: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ValueError: Function arguments have incorrect type or value. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TimeoutError: Timeout to create Katib Experiment. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -387,7 +387,9 @@ def tune( | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Add metrics collector to the Katib Experiment. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Up to now, We only support parameter `kind`, of which default value is `StdOut`, to specify the kind of metrics collector. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
experiment.spec.metrics_collector_spec = models.V1beta1MetricsCollectorSpec( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
collector=models.V1beta1CollectorSpec(kind=metrics_collector_config["kind"]) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
collector=models.V1beta1CollectorSpec( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kind=metrics_collector_config["kind"], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
custom_collector=metrics_collector_config["custom_collector"]) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Create Trial specification. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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.
I think we may need to tell users about the supported types of MC. So can you re-add this line?