optuna.pruners._base 源代码

import abc

from optuna.type_checking import TYPE_CHECKING

if TYPE_CHECKING:
    from optuna.study import Study  # NOQA
    from optuna.trial import FrozenTrial  # NOQA


[文档]class BasePruner(object, metaclass=abc.ABCMeta): """Base class for pruners."""
[文档] @abc.abstractmethod def prune(self, study, trial): # type: (Study, FrozenTrial) -> bool """Judge whether the trial should be pruned based on the reported values. Note that this method is not supposed to be called by library users. Instead, :func:`optuna.trial.Trial.report` and :func:`optuna.trial.Trial.should_prune` provide user interfaces to implement pruning mechanism in an objective function. Args: study: Study object of the target study. trial: FrozenTrial object of the target trial. Take a copy before modifying this object. Returns: A boolean value representing whether the trial should be pruned. """ raise NotImplementedError