#[non_exhaustive]pub struct StudyStoppingConfig {
pub should_stop_asap: Option<BoolValue>,
pub minimum_runtime_constraint: Option<StudyTimeConstraint>,
pub maximum_runtime_constraint: Option<StudyTimeConstraint>,
pub min_num_trials: Option<Int32Value>,
pub max_num_trials: Option<Int32Value>,
pub max_num_trials_no_progress: Option<Int32Value>,
pub max_duration_no_progress: Option<Duration>,
/* private fields */
}Expand description
The configuration (stopping conditions) for automated stopping of a Study. Conditions include trial budgets, time budgets, and convergence detection.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.should_stop_asap: Option<BoolValue>If true, a Study enters STOPPING_ASAP whenever it would normally enters STOPPING state.
The bottom line is: set to true if you want to interrupt on-going evaluations of Trials as soon as the study stopping condition is met. (Please see Study.State documentation for the source of truth).
minimum_runtime_constraint: Option<StudyTimeConstraint>Each “stopping rule” in this proto specifies an “if” condition. Before
Vizier would generate a new suggestion, it first checks each specified
stopping rule, from top to bottom in this list.
Note that the first few rules (e.g. minimum_runtime_constraint,
min_num_trials) will prevent other stopping rules from being evaluated
until they are met. For example, setting min_num_trials=5 and
always_stop_after= 1 hour means that the Study will ONLY stop after it
has 5 COMPLETED trials, even if more than an hour has passed since its
creation. It follows the first applicable rule (whose “if” condition is
satisfied) to make a stopping decision. If none of the specified rules
are applicable, then Vizier decides that the study should not stop.
If Vizier decides that the study should stop, the study enters
STOPPING state (or STOPPING_ASAP if should_stop_asap = true).
IMPORTANT: The automatic study state transition happens precisely as
described above; that is, deleting trials or updating StudyConfig NEVER
automatically moves the study state back to ACTIVE. If you want to
resume a Study that was stopped, 1) change the stopping conditions if
necessary, 2) activate the study, and then 3) ask for suggestions.
If the specified time or duration has not passed, do not stop the
study.
maximum_runtime_constraint: Option<StudyTimeConstraint>If the specified time or duration has passed, stop the study.
min_num_trials: Option<Int32Value>If there are fewer than this many COMPLETED trials, do not stop the study.
max_num_trials: Option<Int32Value>If there are more than this many trials, stop the study.
max_num_trials_no_progress: Option<Int32Value>If the objective value has not improved for this many consecutive trials, stop the study.
WARNING: Effective only for single-objective studies.
max_duration_no_progress: Option<Duration>If the objective value has not improved for this much time, stop the study.
WARNING: Effective only for single-objective studies.
Implementations§
Source§impl StudyStoppingConfig
impl StudyStoppingConfig
pub fn new() -> Self
Sourcepub fn set_should_stop_asap<T: Into<Option<BoolValue>>>(self, v: T) -> Self
pub fn set_should_stop_asap<T: Into<Option<BoolValue>>>(self, v: T) -> Self
Sets the value of should_stop_asap.
Sourcepub fn set_minimum_runtime_constraint<T: Into<Option<StudyTimeConstraint>>>(
self,
v: T,
) -> Self
pub fn set_minimum_runtime_constraint<T: Into<Option<StudyTimeConstraint>>>( self, v: T, ) -> Self
Sets the value of minimum_runtime_constraint.
Sourcepub fn set_maximum_runtime_constraint<T: Into<Option<StudyTimeConstraint>>>(
self,
v: T,
) -> Self
pub fn set_maximum_runtime_constraint<T: Into<Option<StudyTimeConstraint>>>( self, v: T, ) -> Self
Sets the value of maximum_runtime_constraint.
Sourcepub fn set_min_num_trials<T: Into<Option<Int32Value>>>(self, v: T) -> Self
pub fn set_min_num_trials<T: Into<Option<Int32Value>>>(self, v: T) -> Self
Sets the value of min_num_trials.
Sourcepub fn set_max_num_trials<T: Into<Option<Int32Value>>>(self, v: T) -> Self
pub fn set_max_num_trials<T: Into<Option<Int32Value>>>(self, v: T) -> Self
Sets the value of max_num_trials.
Sourcepub fn set_max_num_trials_no_progress<T: Into<Option<Int32Value>>>(
self,
v: T,
) -> Self
pub fn set_max_num_trials_no_progress<T: Into<Option<Int32Value>>>( self, v: T, ) -> Self
Sets the value of max_num_trials_no_progress.
Sourcepub fn set_max_duration_no_progress<T: Into<Option<Duration>>>(
self,
v: T,
) -> Self
pub fn set_max_duration_no_progress<T: Into<Option<Duration>>>( self, v: T, ) -> Self
Sets the value of max_duration_no_progress.
Trait Implementations§
Source§impl Clone for StudyStoppingConfig
impl Clone for StudyStoppingConfig
Source§fn clone(&self) -> StudyStoppingConfig
fn clone(&self) -> StudyStoppingConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more