How severe does this issue affect your experience of using Ray?
- Medium: It contributes to significant difficulty to complete my task, but I can work around
Hi Ray community,
I implemented some custom stopper MyStopper inheriting from ray.tune.stopper.Stopper and would like to combine that with the “classic” stopping criterion for maximum iteration count.
What I observe is that ASHAScheduler overrules the criteria defined in the stoppers, while simple FIFOScheduler has the tendency to ignore the MyStopper() and take only the maximum iteration one.
Now here my questions:
- Which kind of hierarchy is applied between schedulers and stoppers?
- What is the best practise where to define which kind of experiment control?
Thank you for your advice!
scheduler = ASHAScheduler(
metric="episode_reward_mean", # The metric to optimize
mode="max", # Maximize the reward
max_t=100, # Max number of training iterations
grace_period=10, # Minimum number of iterations before stopping
reduction_factor=2, # Scaling factor for trials
)
tuner = tune.Tuner(
"PPO",
param_space=config,
run_config=air.RunConfig(
name="curr-experiment",
stop=CombinedStopper(
MyStopper(), MaximumIterationStopper(100)
),
),
tune_config=tune.TuneConfig(
num_samples=2,
max_concurrent_trials=2,
scheduler=scheduler,
),
)