-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[AutoScheduler] Support early_stopping per task #7377
Conversation
I suggest that we can use |
Fair enough. Updated. |
@comaniac please kick the CI again |
seems CI is having an issue |
Thanks @comaniac @merrymercy |
* [AutoScheduler] Support early_stopping per task * address comment * fix test * Update python/tvm/auto_scheduler/task_scheduler.py * Update python/tvm/auto_scheduler/task_scheduler.py * trigger ci * trigger ci
* [AutoScheduler] Support early_stopping per task * address comment * fix test * Update python/tvm/auto_scheduler/task_scheduler.py * Update python/tvm/auto_scheduler/task_scheduler.py * trigger ci * trigger ci
* [AutoScheduler] Support early_stopping per task * address comment * fix test * Update python/tvm/auto_scheduler/task_scheduler.py * Update python/tvm/auto_scheduler/task_scheduler.py * trigger ci * trigger ci
Per discussion in https://discuss.tvm.apache.org/t/ansor-task-scheduler-spending-too-much-trial-on-dead-end-tasks/8955, this PR improves the early stopping criteria in the task scheduler. Now we have two early stopping factors:
TuningOptions.early_stopping
: Like other options in this object, theearly_stopping
in TuningOptions affects each task.task_scheduler.tune(..., early_stopping=None)
: Since this is only for task_scheduler, thisearly_stopping
applies to an entire tuning process.Accordingly, when setting
TuningOptions.early_stopping
, a task will be stopped early if it has no improvement for N measurements, but the task scheduler will keep tuning rest tasks. On the other hand,task_scheduler.tune(..., early_stopping)
serves as the original functionality that early stops an entire tuning process after no improvement for N measurements (regardless which tasks).cc @merrymercy @masahi