Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why are these changes needed?
The
PopulationBasedTrainingSynchTest:testAsynchFail
test is currently flaky.The test ensures that in asynchronous training, at least some trials do not exploit the best performing trial due to asynchronous evaluation. However, for certain orders this might randomly still be the case - e.g. if the worst trial exploits the best trial early, and the second trial then does the same afterwards.
By introducing different sleep times, we make sure that bad performing trials are evaluated first, continue training earlier, and finish earlier without exploiting well performing trials. In synchronous mode, this should not happen as PBT will wait for all results to arrive, first - exactly what we want to test here.
Related issue number
Closes #15730
Checks
scripts/format.sh
to lint the changes in this PR.