Class: Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec
- Inherits:
-
Object
- Object
- Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/aiplatform_v1/classes.rb,
lib/google/apis/aiplatform_v1/representations.rb,
lib/google/apis/aiplatform_v1/representations.rb
Overview
Configuration for ConvexAutomatedStoppingSpec. When there are enough completed trials (configured by min_measurement_count), for pending trials with enough measurements and steps, the policy first computes an overestimate of the objective value at max_num_steps according to the slope of the incomplete objective value curve. No prediction can be made if the curve is completely flat. If the overestimation is worse than the best objective value of the completed trials, this pending trial will be early-stopped, but a last measurement will be added to the pending trial with max_num_steps and predicted objective value from the autoregression model.
Instance Attribute Summary collapse
-
#learning_rate_parameter_name ⇒ String
The hyper-parameter name used in the tuning job that stands for learning rate.
-
#max_step_count ⇒ Fixnum
Steps used in predicting the final objective for early stopped trials.
-
#min_measurement_count ⇒ Fixnum
The minimal number of measurements in a Trial.
-
#min_step_count ⇒ Fixnum
Minimum number of steps for a trial to complete.
-
#update_all_stopped_trials ⇒ Boolean
(also: #update_all_stopped_trials?)
ConvexAutomatedStoppingSpec by default only updates the trials that needs to be early stopped using a newly trained auto-regressive model.
-
#use_elapsed_duration ⇒ Boolean
(also: #use_elapsed_duration?)
This bool determines whether or not the rule is applied based on elapsed_secs or steps.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec
constructor
A new instance of GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec
Returns a new instance of GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec.
28678 28679 28680 |
# File 'lib/google/apis/aiplatform_v1/classes.rb', line 28678 def initialize(**args) update!(**args) end |
Instance Attribute Details
#learning_rate_parameter_name ⇒ String
The hyper-parameter name used in the tuning job that stands for learning rate.
Leave it blank if learning rate is not in a parameter in tuning. The
learning_rate is used to estimate the objective value of the ongoing trial.
Corresponds to the JSON property learningRateParameterName
28628 28629 28630 |
# File 'lib/google/apis/aiplatform_v1/classes.rb', line 28628 def learning_rate_parameter_name @learning_rate_parameter_name end |
#max_step_count ⇒ Fixnum
Steps used in predicting the final objective for early stopped trials. In
general, it's set to be the same as the defined steps in training / tuning. If
not defined, it will learn it from the completed trials. When use_steps is
false, this field is set to the maximum elapsed seconds.
Corresponds to the JSON property maxStepCount
28636 28637 28638 |
# File 'lib/google/apis/aiplatform_v1/classes.rb', line 28636 def max_step_count @max_step_count end |
#min_measurement_count ⇒ Fixnum
The minimal number of measurements in a Trial. Early-stopping checks will not
trigger if less than min_measurement_count+1 completed trials or pending
trials with less than min_measurement_count measurements. If not defined, the
default value is 5.
Corresponds to the JSON property minMeasurementCount
28644 28645 28646 |
# File 'lib/google/apis/aiplatform_v1/classes.rb', line 28644 def min_measurement_count @min_measurement_count end |
#min_step_count ⇒ Fixnum
Minimum number of steps for a trial to complete. Trials which do not have a
measurement with step_count > min_step_count won't be considered for early
stopping. It's ok to set it to 0, and a trial can be early stopped at any
stage. By default, min_step_count is set to be one-tenth of the max_step_count.
When use_elapsed_duration is true, this field is set to the minimum elapsed
seconds.
Corresponds to the JSON property minStepCount
28654 28655 28656 |
# File 'lib/google/apis/aiplatform_v1/classes.rb', line 28654 def min_step_count @min_step_count end |
#update_all_stopped_trials ⇒ Boolean Also known as: update_all_stopped_trials?
ConvexAutomatedStoppingSpec by default only updates the trials that needs to
be early stopped using a newly trained auto-regressive model. When this flag
is set to True, all stopped trials from the beginning are potentially updated
in terms of their final_measurement
. Also, note that the training logic of
autoregressive models is different in this case. Enabling this option has
shown better results and this may be the default option in the future.
Corresponds to the JSON property updateAllStoppedTrials
28664 28665 28666 |
# File 'lib/google/apis/aiplatform_v1/classes.rb', line 28664 def update_all_stopped_trials @update_all_stopped_trials end |
#use_elapsed_duration ⇒ Boolean Also known as: use_elapsed_duration?
This bool determines whether or not the rule is applied based on elapsed_secs
or steps. If use_elapsed_duration==false, the early stopping decision is made
according to the predicted objective values according to the target steps. If
use_elapsed_duration==true, elapsed_secs is used instead of steps. Also, in
this case, the parameters max_num_steps and min_num_steps are overloaded to
contain max_elapsed_seconds and min_elapsed_seconds.
Corresponds to the JSON property useElapsedDuration
28675 28676 28677 |
# File 'lib/google/apis/aiplatform_v1/classes.rb', line 28675 def use_elapsed_duration @use_elapsed_duration end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
28683 28684 28685 28686 28687 28688 28689 28690 |
# File 'lib/google/apis/aiplatform_v1/classes.rb', line 28683 def update!(**args) @learning_rate_parameter_name = args[:learning_rate_parameter_name] if args.key?(:learning_rate_parameter_name) @max_step_count = args[:max_step_count] if args.key?(:max_step_count) @min_measurement_count = args[:min_measurement_count] if args.key?(:min_measurement_count) @min_step_count = args[:min_step_count] if args.key?(:min_step_count) @update_all_stopped_trials = args[:update_all_stopped_trials] if args.key?(:update_all_stopped_trials) @use_elapsed_duration = args[:use_elapsed_duration] if args.key?(:use_elapsed_duration) end |