Skip to content
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

[feature] Early Stopping Spec #936

Closed
richardsliu opened this issue Nov 28, 2019 · 5 comments · Fixed by #951
Closed

[feature] Early Stopping Spec #936

richardsliu opened this issue Nov 28, 2019 · 5 comments · Fixed by #951

Comments

@richardsliu
Copy link
Contributor

richardsliu commented Nov 28, 2019

/kind feature

#692

In order to make the API generic, we can use a structure similar to AlgorithmSettings (see https://github.com/kubeflow/katib/blob/master/pkg/apis/controller/common/v1alpha3/common_types.go#L30):


type EarlyStoppingSetting struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

type EarlyStoppingSpec struct {
	EarlyStoppingAlgorithmName string `json:"earlyStoppingAlgorithmName,omitempty"`
        EarlyStoppingSettings []EarlyStoppingSetting `json:"earlyStoppingSettings"`
}

We can implement the Median Stopping Rule as the starting point. So the spec would look like:

algorithm:
    algorithmName: bayesianoptimization
    earlyStopping:
       earlyStoppingAlgorithmName: medianstoppingrule
       earlyStoppingSettings:
        - name: "grace_period_s"
          value: "60"    # Only stop trials that are this old
        - name: "min_samples_required"
          value: "10"    # Minimum number of previous trials required

See also: https://ray.readthedocs.io/en/latest/tune-schedulers.html#median-stopping-rule

/cc @johnugeorge @gaocegege @hougangliu

@hougangliu
Copy link
Member

SGTM

@gaocegege
Copy link
Member

LGTM

1 similar comment
@johnugeorge
Copy link
Member

LGTM

@johnugeorge
Copy link
Member

Can you create a PR ? We can keep it in v1alpha3 as feature was not supported till now. WDYT?

@richardsliu
Copy link
Contributor Author

v1alpha3 sounds good. I can create a PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants