[tune] stopping criterion to propagate to other trials
See original GitHub issueWe use ray.tune to do automated hyperparameter tuning (yay 🙌). To check we have done everything correctly in our projects, we often have an integration test that runs tune and checks if an Experiment can reach a very achievable accuracy in a certain time.
Currently it seems that the stopping criterion that you pass to a ray.tune.Experiment is only applied per trial (that is if one trial reaches it it stops, but the other worse trials keep running). Since we are satisfied if any trial reaches the stopping criterion, my question:
Is there a way to stop the entire Experiment (and get a result from ray.tune.run) once any trial reaches the stopping criterion?
Thanks in advance! And thanks for building ray
🧡
Issue Analytics
- State:
- Created 4 years ago
- Comments:6 (4 by maintainers)
Top Results From Across the Web
Stopping mechanisms (tune.stopper) - the Ray documentation
For instance, stopping mechanisms can specify to stop trials when they reached a plateau and ... Other stopping behaviors are described in the...
Read more >Create a hyperparameter tuning job | Vertex AI - Google Cloud
In a hyperparameter tuning job, Vertex AI creates trials of your training job with ... Ignore the Enable early stopping toggle, which has...
Read more >A Conceptual Explanation of Bayesian Hyperparameter ...
The sequential refers to running trials one after another, each time trying better hyperparameters by applying Bayesian reasoning and updating a ...
Read more >Pipeline Parallelism of Hyper and System Parameters Tuning ...
of techniques such as early stopping criteria to reduce the tuning impact ... dataset and let it be tuned for different number of...
Read more >Create, test, and tune a DLP policy - Microsoft Learn
Use the 90-day Purview solutions trial to explore how robust Purview capabilities can help your organization manage data security and compliance ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Ah, I see; I’ll get to the programmatic stopping condition PR this weekend. That should allow you to do what you want.
I am running a basic PBT on MNIST. I logged
self.should_stop
at every call ofstop
in theStopper
class and after the stopping criterion was fulfilled.The first trial
85bb094a
fulfills the criterion after the first iteration,self.should_stop
is set toTrue
, and its memory address changes. After that, the other two trials85bb8e2e
and85ba6ae4
readself.should_stop
at its old memory address storingFalse
, but I would expect them to read the newTrue
value, which was set by trial85bb094a
.These are the logs: