optuna.study.MaxTrialsCallback

class optuna.study.MaxTrialsCallback(n_trials, states=(1,))[source]

スタディを終了する前の最大試行回数を設定します。

optuna.study.Study.optimize()n_trials 引数は実行する試行回数を設定しますが、 特定の数の成功した試行が完了するまで実行を継続したり、特定の数の失敗した試行が発生した時点で スタディを停止したい場合があります。この MaxTrialsCallback クラスを使用すると、 特定の TrialState に対して最大試行回数を設定し、スタディを停止できます。

使用例

import optuna
from optuna.study import MaxTrialsCallback
from optuna.trial import TrialState


def objective(trial):
    x = trial.suggest_float("x", -1, 1)
    return x**2


study = optuna.create_study()
study.optimize(
    objective,
    callbacks=[MaxTrialsCallback(10, states=(TrialState.COMPLETE,))],
)
Parameters:
  • n_trials (int) – 最大試行回数。整数で指定する必要があります。

  • states (Container[TrialState] | None) – 最大試行回数の上限としてカウントする TrialState のタプル。 デフォルト値は (TrialState.COMPLETE,) です。 None の場合、すべての状態をカウントします。