Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
When there are no completed or feasible trials, return the first arm …
…as the best point (facebook#3352) Summary: Pull Request resolved: facebook#3352 Context: When there are no completed or feasible trials, `BestPointMixin._get_best_trial` will return None, even if there are trials that are or running (potentially with available data) or early-stopped. This is problematic when we need to construct an inference trace with early-stopped trials, since it is plausible that all trials will either violate constraints or have stopped early (at least in benchmarksand in unit tests, maybe not in reality). I discovered this was an issue with an existing unit test while working on some related logic -- I think we've been silently sidestepping it until now. Even broader context: Yes, the best-point utilities are flawed and it would be better to fix them. I think the right fix would be an exception, so there would still be a need for a change in benchmarking logic if we want to ensure that some point is always recommended. This PR: * Has `BenchmarkMethod.get_best_parameters` return the first arm from the most recently created trial if no trials are completed and satisfy constraints Reviewed By: saitcakmak Differential Revision: D69488839 fbshipit-source-id: abb136b9add65510c740780fb321352963ba0d28
- Loading branch information