Class StudySpec.ConvexAutomatedStoppingSpec.Builder

  • All Implemented Interfaces:
    StudySpec.ConvexAutomatedStoppingSpecOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
    Enclosing class:
    StudySpec.ConvexAutomatedStoppingSpec

    public static final class StudySpec.ConvexAutomatedStoppingSpec.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<StudySpec.ConvexAutomatedStoppingSpec.Builder>
    implements StudySpec.ConvexAutomatedStoppingSpecOrBuilder
     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.
     
    Protobuf type google.cloud.aiplatform.v1.StudySpec.ConvexAutomatedStoppingSpec
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<StudySpec.ConvexAutomatedStoppingSpec.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<StudySpec.ConvexAutomatedStoppingSpec.Builder>
      • getDefaultInstanceForType

        public StudySpec.ConvexAutomatedStoppingSpec getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public StudySpec.ConvexAutomatedStoppingSpec build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public StudySpec.ConvexAutomatedStoppingSpec buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<StudySpec.ConvexAutomatedStoppingSpec.Builder>
      • getMaxStepCount

        public long getMaxStepCount()
         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.
         
        int64 max_step_count = 1;
        Specified by:
        getMaxStepCount in interface StudySpec.ConvexAutomatedStoppingSpecOrBuilder
        Returns:
        The maxStepCount.
      • setMaxStepCount

        public StudySpec.ConvexAutomatedStoppingSpec.Builder setMaxStepCount​(long value)
         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.
         
        int64 max_step_count = 1;
        Parameters:
        value - The maxStepCount to set.
        Returns:
        This builder for chaining.
      • clearMaxStepCount

        public StudySpec.ConvexAutomatedStoppingSpec.Builder clearMaxStepCount()
         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.
         
        int64 max_step_count = 1;
        Returns:
        This builder for chaining.
      • getMinStepCount

        public long getMinStepCount()
         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.
         
        int64 min_step_count = 2;
        Specified by:
        getMinStepCount in interface StudySpec.ConvexAutomatedStoppingSpecOrBuilder
        Returns:
        The minStepCount.
      • setMinStepCount

        public StudySpec.ConvexAutomatedStoppingSpec.Builder setMinStepCount​(long value)
         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.
         
        int64 min_step_count = 2;
        Parameters:
        value - The minStepCount to set.
        Returns:
        This builder for chaining.
      • clearMinStepCount

        public StudySpec.ConvexAutomatedStoppingSpec.Builder clearMinStepCount()
         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.
         
        int64 min_step_count = 2;
        Returns:
        This builder for chaining.
      • getMinMeasurementCount

        public long getMinMeasurementCount()
         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.
         
        int64 min_measurement_count = 3;
        Specified by:
        getMinMeasurementCount in interface StudySpec.ConvexAutomatedStoppingSpecOrBuilder
        Returns:
        The minMeasurementCount.
      • setMinMeasurementCount

        public StudySpec.ConvexAutomatedStoppingSpec.Builder setMinMeasurementCount​(long value)
         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.
         
        int64 min_measurement_count = 3;
        Parameters:
        value - The minMeasurementCount to set.
        Returns:
        This builder for chaining.
      • clearMinMeasurementCount

        public StudySpec.ConvexAutomatedStoppingSpec.Builder clearMinMeasurementCount()
         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.
         
        int64 min_measurement_count = 3;
        Returns:
        This builder for chaining.
      • getLearningRateParameterName

        public String getLearningRateParameterName()
         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.
         
        string learning_rate_parameter_name = 4;
        Specified by:
        getLearningRateParameterName in interface StudySpec.ConvexAutomatedStoppingSpecOrBuilder
        Returns:
        The learningRateParameterName.
      • getLearningRateParameterNameBytes

        public com.google.protobuf.ByteString getLearningRateParameterNameBytes()
         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.
         
        string learning_rate_parameter_name = 4;
        Specified by:
        getLearningRateParameterNameBytes in interface StudySpec.ConvexAutomatedStoppingSpecOrBuilder
        Returns:
        The bytes for learningRateParameterName.
      • setLearningRateParameterName

        public StudySpec.ConvexAutomatedStoppingSpec.Builder setLearningRateParameterName​(String value)
         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.
         
        string learning_rate_parameter_name = 4;
        Parameters:
        value - The learningRateParameterName to set.
        Returns:
        This builder for chaining.
      • clearLearningRateParameterName

        public StudySpec.ConvexAutomatedStoppingSpec.Builder clearLearningRateParameterName()
         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.
         
        string learning_rate_parameter_name = 4;
        Returns:
        This builder for chaining.
      • setLearningRateParameterNameBytes

        public StudySpec.ConvexAutomatedStoppingSpec.Builder setLearningRateParameterNameBytes​(com.google.protobuf.ByteString value)
         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.
         
        string learning_rate_parameter_name = 4;
        Parameters:
        value - The bytes for learningRateParameterName to set.
        Returns:
        This builder for chaining.
      • getUseElapsedDuration

        public boolean getUseElapsedDuration()
         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.
         
        bool use_elapsed_duration = 5;
        Specified by:
        getUseElapsedDuration in interface StudySpec.ConvexAutomatedStoppingSpecOrBuilder
        Returns:
        The useElapsedDuration.
      • setUseElapsedDuration

        public StudySpec.ConvexAutomatedStoppingSpec.Builder setUseElapsedDuration​(boolean value)
         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.
         
        bool use_elapsed_duration = 5;
        Parameters:
        value - The useElapsedDuration to set.
        Returns:
        This builder for chaining.
      • clearUseElapsedDuration

        public StudySpec.ConvexAutomatedStoppingSpec.Builder clearUseElapsedDuration()
         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.
         
        bool use_elapsed_duration = 5;
        Returns:
        This builder for chaining.
      • hasUpdateAllStoppedTrials

        public boolean hasUpdateAllStoppedTrials()
         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.
         
        optional bool update_all_stopped_trials = 6;
        Specified by:
        hasUpdateAllStoppedTrials in interface StudySpec.ConvexAutomatedStoppingSpecOrBuilder
        Returns:
        Whether the updateAllStoppedTrials field is set.
      • getUpdateAllStoppedTrials

        public boolean getUpdateAllStoppedTrials()
         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.
         
        optional bool update_all_stopped_trials = 6;
        Specified by:
        getUpdateAllStoppedTrials in interface StudySpec.ConvexAutomatedStoppingSpecOrBuilder
        Returns:
        The updateAllStoppedTrials.
      • setUpdateAllStoppedTrials

        public StudySpec.ConvexAutomatedStoppingSpec.Builder setUpdateAllStoppedTrials​(boolean value)
         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.
         
        optional bool update_all_stopped_trials = 6;
        Parameters:
        value - The updateAllStoppedTrials to set.
        Returns:
        This builder for chaining.
      • clearUpdateAllStoppedTrials

        public StudySpec.ConvexAutomatedStoppingSpec.Builder clearUpdateAllStoppedTrials()
         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.
         
        optional bool update_all_stopped_trials = 6;
        Returns:
        This builder for chaining.