/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.sagemaker.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Specifies the configuration for a hyperparameter tuning job that uses one or more previous hyperparameter tuning jobs * as a starting point. The results of previous tuning jobs are used to inform which combinations of hyperparameters to * search over in the new tuning job. *
** All training jobs launched by the new hyperparameter tuning job are evaluated by using the objective metric, and the * training job that performs the best is compared to the best training jobs from the parent tuning jobs. From these, * the training job that performs the best as measured by the objective metric is returned as the overall best training * job. *
** All training jobs launched by parent hyperparameter tuning jobs and the new hyperparameter tuning jobs count against * the limit of training jobs for the tuning job. *
** An array of hyperparameter tuning jobs that are used as the starting point for the new hyperparameter tuning job. * For more information about warm starting a hyperparameter tuning job, see Using a Previous * Hyperparameter Tuning Job as a Starting Point. *
** Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start tuning * jobs. *
*/ private java.util.List* Specifies one of the following: *
** The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training jobs that the hyperparameter tuning * job launches. You cannot use a new version of the training algorithm, unless the changes in the new version do * not affect the algorithm itself. For example, changes that improve logging or adding support for a different data * format are allowed. You can also change hyperparameters from tunable to static, and from static to tunable, but * the total number of static plus tunable hyperparameters must remain the same as it is in all parent jobs. The * objective metric for the new tuning job must be the same as for all parent jobs. *
** The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of concurrent * training jobs, and maximum number of training jobs that are different than those of its parent hyperparameter * tuning jobs. The training image can also be a different version from the version used in the parent * hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from static to * tunable, but the total number of static plus tunable hyperparameters must remain the same as it is in all parent * jobs. The objective metric for the new tuning job must be the same as for all parent jobs. *
** An array of hyperparameter tuning jobs that are used as the starting point for the new hyperparameter tuning job. * For more information about warm starting a hyperparameter tuning job, see Using a Previous * Hyperparameter Tuning Job as a Starting Point. *
** Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start tuning * jobs. *
* * @return An array of hyperparameter tuning jobs that are used as the starting point for the new hyperparameter * tuning job. For more information about warm starting a hyperparameter tuning job, see Using a * Previous Hyperparameter Tuning Job as a Starting Point. *
* Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start
* tuning jobs.
*/
public java.util.List
* An array of hyperparameter tuning jobs that are used as the starting point for the new hyperparameter tuning job.
* For more information about warm starting a hyperparameter tuning job, see Using a Previous
* Hyperparameter Tuning Job as a Starting Point.
*
* Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start tuning
* jobs.
*
* Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start
* tuning jobs.
*/
public void setParentHyperParameterTuningJobs(java.util.Collection
* An array of hyperparameter tuning jobs that are used as the starting point for the new hyperparameter tuning job.
* For more information about warm starting a hyperparameter tuning job, see Using a Previous
* Hyperparameter Tuning Job as a Starting Point.
*
* Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start tuning
* jobs.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setParentHyperParameterTuningJobs(java.util.Collection)} or
* {@link #withParentHyperParameterTuningJobs(java.util.Collection)} if you want to override the existing values.
*
* Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start
* tuning jobs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public HyperParameterTuningJobWarmStartConfig withParentHyperParameterTuningJobs(ParentHyperParameterTuningJob... parentHyperParameterTuningJobs) {
if (this.parentHyperParameterTuningJobs == null) {
setParentHyperParameterTuningJobs(new java.util.ArrayList
* An array of hyperparameter tuning jobs that are used as the starting point for the new hyperparameter tuning job.
* For more information about warm starting a hyperparameter tuning job, see Using a Previous
* Hyperparameter Tuning Job as a Starting Point.
*
* Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start tuning
* jobs.
*
* Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start
* tuning jobs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public HyperParameterTuningJobWarmStartConfig withParentHyperParameterTuningJobs(
java.util.Collection
* Specifies one of the following:
*
* The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. You can
* change the hyperparameter ranges to search and the maximum number of training jobs that the hyperparameter tuning
* job launches. You cannot use a new version of the training algorithm, unless the changes in the new version do
* not affect the algorithm itself. For example, changes that improve logging or adding support for a different data
* format are allowed. You can also change hyperparameters from tunable to static, and from static to tunable, but
* the total number of static plus tunable hyperparameters must remain the same as it is in all parent jobs. The
* objective metric for the new tuning job must be the same as for all parent jobs.
*
* The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of concurrent
* training jobs, and maximum number of training jobs that are different than those of its parent hyperparameter
* tuning jobs. The training image can also be a different version from the version used in the parent
* hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from static to
* tunable, but the total number of static plus tunable hyperparameters must remain the same as it is in all parent
* jobs. The objective metric for the new tuning job must be the same as for all parent jobs.
*
*
*
* @param warmStartType
* Specifies one of the following:
* The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. * You can change the hyperparameter ranges to search and the maximum number of training jobs that the * hyperparameter tuning job launches. You cannot use a new version of the training algorithm, unless the * changes in the new version do not affect the algorithm itself. For example, changes that improve logging * or adding support for a different data format are allowed. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static plus tunable hyperparameters * must remain the same as it is in all parent jobs. The objective metric for the new tuning job must be the * same as for all parent jobs. *
** The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of * concurrent training jobs, and maximum number of training jobs that are different than those of its parent * hyperparameter tuning jobs. The training image can also be a different version from the version used in * the parent hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from * static to tunable, but the total number of static plus tunable hyperparameters must remain the same as it * is in all parent jobs. The objective metric for the new tuning job must be the same as for all parent * jobs. *
** Specifies one of the following: *
** The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training jobs that the hyperparameter tuning * job launches. You cannot use a new version of the training algorithm, unless the changes in the new version do * not affect the algorithm itself. For example, changes that improve logging or adding support for a different data * format are allowed. You can also change hyperparameters from tunable to static, and from static to tunable, but * the total number of static plus tunable hyperparameters must remain the same as it is in all parent jobs. The * objective metric for the new tuning job must be the same as for all parent jobs. *
** The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of concurrent * training jobs, and maximum number of training jobs that are different than those of its parent hyperparameter * tuning jobs. The training image can also be a different version from the version used in the parent * hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from static to * tunable, but the total number of static plus tunable hyperparameters must remain the same as it is in all parent * jobs. The objective metric for the new tuning job must be the same as for all parent jobs. *
** The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. * You can change the hyperparameter ranges to search and the maximum number of training jobs that the * hyperparameter tuning job launches. You cannot use a new version of the training algorithm, unless the * changes in the new version do not affect the algorithm itself. For example, changes that improve logging * or adding support for a different data format are allowed. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static plus tunable * hyperparameters must remain the same as it is in all parent jobs. The objective metric for the new tuning * job must be the same as for all parent jobs. *
** The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of * concurrent training jobs, and maximum number of training jobs that are different than those of its parent * hyperparameter tuning jobs. The training image can also be a different version from the version used in * the parent hyperparameter tuning job. You can also change hyperparameters from tunable to static, and * from static to tunable, but the total number of static plus tunable hyperparameters must remain the same * as it is in all parent jobs. The objective metric for the new tuning job must be the same as for all * parent jobs. *
** Specifies one of the following: *
** The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training jobs that the hyperparameter tuning * job launches. You cannot use a new version of the training algorithm, unless the changes in the new version do * not affect the algorithm itself. For example, changes that improve logging or adding support for a different data * format are allowed. You can also change hyperparameters from tunable to static, and from static to tunable, but * the total number of static plus tunable hyperparameters must remain the same as it is in all parent jobs. The * objective metric for the new tuning job must be the same as for all parent jobs. *
** The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of concurrent * training jobs, and maximum number of training jobs that are different than those of its parent hyperparameter * tuning jobs. The training image can also be a different version from the version used in the parent * hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from static to * tunable, but the total number of static plus tunable hyperparameters must remain the same as it is in all parent * jobs. The objective metric for the new tuning job must be the same as for all parent jobs. *
** The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. * You can change the hyperparameter ranges to search and the maximum number of training jobs that the * hyperparameter tuning job launches. You cannot use a new version of the training algorithm, unless the * changes in the new version do not affect the algorithm itself. For example, changes that improve logging * or adding support for a different data format are allowed. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static plus tunable hyperparameters * must remain the same as it is in all parent jobs. The objective metric for the new tuning job must be the * same as for all parent jobs. *
** The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of * concurrent training jobs, and maximum number of training jobs that are different than those of its parent * hyperparameter tuning jobs. The training image can also be a different version from the version used in * the parent hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from * static to tunable, but the total number of static plus tunable hyperparameters must remain the same as it * is in all parent jobs. The objective metric for the new tuning job must be the same as for all parent * jobs. *
** Specifies one of the following: *
** The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training jobs that the hyperparameter tuning * job launches. You cannot use a new version of the training algorithm, unless the changes in the new version do * not affect the algorithm itself. For example, changes that improve logging or adding support for a different data * format are allowed. You can also change hyperparameters from tunable to static, and from static to tunable, but * the total number of static plus tunable hyperparameters must remain the same as it is in all parent jobs. The * objective metric for the new tuning job must be the same as for all parent jobs. *
** The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of concurrent * training jobs, and maximum number of training jobs that are different than those of its parent hyperparameter * tuning jobs. The training image can also be a different version from the version used in the parent * hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from static to * tunable, but the total number of static plus tunable hyperparameters must remain the same as it is in all parent * jobs. The objective metric for the new tuning job must be the same as for all parent jobs. *
** The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. * You can change the hyperparameter ranges to search and the maximum number of training jobs that the * hyperparameter tuning job launches. You cannot use a new version of the training algorithm, unless the * changes in the new version do not affect the algorithm itself. For example, changes that improve logging * or adding support for a different data format are allowed. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static plus tunable hyperparameters * must remain the same as it is in all parent jobs. The objective metric for the new tuning job must be the * same as for all parent jobs. *
** The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of * concurrent training jobs, and maximum number of training jobs that are different than those of its parent * hyperparameter tuning jobs. The training image can also be a different version from the version used in * the parent hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from * static to tunable, but the total number of static plus tunable hyperparameters must remain the same as it * is in all parent jobs. The objective metric for the new tuning job must be the same as for all parent * jobs. *
*