public static final class StudySpec.ConvexAutomatedStoppingSpec extends GeneratedMessageV3 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.v1beta1.StudySpec.ConvexAutomatedStoppingSpec
Static Fields
public static final int LEARNING_RATE_PARAMETER_NAME_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
public static final int MAX_STEP_COUNT_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
public static final int MIN_MEASUREMENT_COUNT_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
public static final int MIN_STEP_COUNT_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
public static final int UPDATE_ALL_STOPPED_TRIALS_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
public static final int USE_ELAPSED_DURATION_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
Static Methods
public static StudySpec.ConvexAutomatedStoppingSpec getDefaultInstance()
public static final Descriptors.Descriptor getDescriptor()
public static StudySpec.ConvexAutomatedStoppingSpec.Builder newBuilder()
public static StudySpec.ConvexAutomatedStoppingSpec.Builder newBuilder(StudySpec.ConvexAutomatedStoppingSpec prototype)
public static StudySpec.ConvexAutomatedStoppingSpec parseDelimitedFrom(InputStream input)
public static StudySpec.ConvexAutomatedStoppingSpec parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(byte[] data)
Parameter |
---|
Name | Description |
data | byte[]
|
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(ByteString data)
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(CodedInputStream input)
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(InputStream input)
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(ByteBuffer data)
public static StudySpec.ConvexAutomatedStoppingSpec parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
public static Parser<StudySpec.ConvexAutomatedStoppingSpec> parser()
Methods
public boolean equals(Object obj)
Parameter |
---|
Name | Description |
obj | Object
|
Overrides
public StudySpec.ConvexAutomatedStoppingSpec getDefaultInstanceForType()
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;
Returns |
---|
Type | Description |
String | The learningRateParameterName.
|
public 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;
Returns |
---|
Type | Description |
ByteString | The bytes for learningRateParameterName.
|
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;
Returns |
---|
Type | Description |
long | The maxStepCount.
|
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;
Returns |
---|
Type | Description |
long | The minMeasurementCount.
|
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;
Returns |
---|
Type | Description |
long | The minStepCount.
|
public Parser<StudySpec.ConvexAutomatedStoppingSpec> getParserForType()
Overrides
public int getSerializedSize()
Returns |
---|
Type | Description |
int | |
Overrides
public final UnknownFieldSet getUnknownFields()
Overrides
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;
Returns |
---|
Type | Description |
boolean | The updateAllStoppedTrials.
|
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;
Returns |
---|
Type | Description |
boolean | The useElapsedDuration.
|
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;
Returns |
---|
Type | Description |
boolean | Whether the updateAllStoppedTrials field is set.
|
Returns |
---|
Type | Description |
int | |
Overrides
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Overrides
public final boolean isInitialized()
Overrides
public StudySpec.ConvexAutomatedStoppingSpec.Builder newBuilderForType()
protected StudySpec.ConvexAutomatedStoppingSpec.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Overrides
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Overrides
public StudySpec.ConvexAutomatedStoppingSpec.Builder toBuilder()
public void writeTo(CodedOutputStream output)
Overrides