Source code for syne_tune.optimizer.schedulers.searchers.single_objective_searcher

import logging

from typing import Dict, Any

from syne_tune.optimizer.schedulers.searchers.searcher import BaseSearcher

logger = logging.getLogger(__name__)


[docs] class SingleObjectiveBaseSearcher(BaseSearcher): """ Base class of searchers, which optimize a single objective. """
[docs] def on_trial_result( self, trial_id: int, config: Dict[str, Any], metric: float, ): """Inform searcher about result The scheduler passes every result. If ``update == True``, the searcher should update its surrogate model (if any), otherwise ``result`` is an intermediate result not modelled. The default implementation calls :meth:`_update` if ``update == True``. It can be overwritten by searchers which also react to intermediate results. :param trial_id: See :meth:`~syne_tune.optimizer.schedulers.TrialScheduler.on_trial_result` :param config: See :meth:`~syne_tune.optimizer.schedulers.TrialScheduler.on_trial_result` :param metric: See :meth:`~syne_tune.optimizer.schedulers.TrialScheduler.on_trial_result` """ return
[docs] def on_trial_complete( self, trial_id: int, config: Dict[str, Any], metric: float, ): """Inform searcher about result The scheduler passes every result. If ``update == True``, the searcher should update its surrogate model (if any), otherwise ``result`` is an intermediate result not modelled. The default implementation calls :meth:`_update` if ``update == True``. It can be overwritten by searchers which also react to intermediate results. :param trial_id: See :meth:`~syne_tune.optimizer.schedulers.TrialScheduler.on_trial_result` :param config: See :meth:`~syne_tune.optimizer.schedulers.TrialScheduler.on_trial_result` :param metric: See :meth:`~syne_tune.optimizer.schedulers.TrialScheduler.on_trial_result` """ return