/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the sagemaker-2017-07-24.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SageMaker.Model
{
///
/// 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.
///
///
///
public partial class HyperParameterTuningJobWarmStartConfig
{
private List _parentHyperParameterTuningJobs = new List();
private HyperParameterTuningJobWarmStartType _warmStartType;
///
/// Gets and sets the property ParentHyperParameterTuningJobs.
///
/// 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.
///
///
[AWSProperty(Required=true, Min=1, Max=5)]
public List ParentHyperParameterTuningJobs
{
get { return this._parentHyperParameterTuningJobs; }
set { this._parentHyperParameterTuningJobs = value; }
}
// Check to see if ParentHyperParameterTuningJobs property is set
internal bool IsSetParentHyperParameterTuningJobs()
{
return this._parentHyperParameterTuningJobs != null && this._parentHyperParameterTuningJobs.Count > 0;
}
///
/// Gets and sets the property WarmStartType.
///
/// Specifies one of the following:
///
/// - IDENTICAL_DATA_AND_ALGORITHM
-
///
/// 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.
///
///
- TRANSFER_LEARNING
-
///
/// 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.
///
///
///
[AWSProperty(Required=true)]
public HyperParameterTuningJobWarmStartType WarmStartType
{
get { return this._warmStartType; }
set { this._warmStartType = value; }
}
// Check to see if WarmStartType property is set
internal bool IsSetWarmStartType()
{
return this._warmStartType != null;
}
}
}