/* * 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 { /// /// Container for the parameters to the CreateHyperParameterTuningJob operation. /// Starts a hyperparameter tuning job. A hyperparameter tuning job finds the best version /// of a model by running many training jobs on your dataset using the algorithm you choose /// and values for hyperparameters within ranges that you specify. It then chooses the /// hyperparameter values that result in a model that performs the best, as measured by /// an objective metric that you choose. /// /// /// /// A hyperparameter tuning job automatically creates Amazon SageMaker experiments, trials, /// and trial components for each training job that it runs. You can view these entities /// in Amazon SageMaker Studio. For more information, see View /// Experiments, Trials, and Trial Components. /// /// /// /// Do not include any security-sensitive information including account access IDs, secrets /// or tokens in any hyperparameter field. If the use of security-sensitive credentials /// are detected, SageMaker will reject your training job request and return an exception /// error. /// /// /// public partial class CreateHyperParameterTuningJobRequest : AmazonSageMakerRequest { private Autotune _autotune; private HyperParameterTuningJobConfig _hyperParameterTuningJobConfig; private string _hyperParameterTuningJobName; private List _tags = new List(); private HyperParameterTrainingJobDefinition _trainingJobDefinition; private List _trainingJobDefinitions = new List(); private HyperParameterTuningJobWarmStartConfig _warmStartConfig; /// /// Gets and sets the property Autotune. /// /// Configures SageMaker Automatic model tuning (AMT) to automatically find optimal parameters /// for the following fields: /// ///
  • /// /// ParameterRanges: /// The names and ranges of parameters that a hyperparameter tuning job can optimize. /// ///
  • /// /// ResourceLimits: /// The maximum resources that can be used for a training job. These resources include /// the maximum number of training jobs, the maximum runtime of a tuning job, and the /// maximum number of training jobs to run at the same time. /// ///
  • /// /// TrainingJobEarlyStoppingType: /// A flag that specifies whether or not to use early stopping for training jobs launched /// by a hyperparameter tuning job. /// ///
  • /// /// RetryStrategy: /// The number of times to retry a training job. /// ///
  • /// /// Strategy: /// Specifies how hyperparameter tuning chooses the combinations of hyperparameter values /// to use for the training jobs that it launches. /// ///
  • /// /// ConvergenceDetected: /// A flag to indicate that Automatic model tuning (AMT) has detected model convergence. /// ///
///
public Autotune Autotune { get { return this._autotune; } set { this._autotune = value; } } // Check to see if Autotune property is set internal bool IsSetAutotune() { return this._autotune != null; } /// /// Gets and sets the property HyperParameterTuningJobConfig. /// /// The HyperParameterTuningJobConfig /// object that describes the tuning job, including the search strategy, the objective /// metric used to evaluate training jobs, ranges of parameters to search, and resource /// limits for the tuning job. For more information, see How /// Hyperparameter Tuning Works. /// /// [AWSProperty(Required=true)] public HyperParameterTuningJobConfig HyperParameterTuningJobConfig { get { return this._hyperParameterTuningJobConfig; } set { this._hyperParameterTuningJobConfig = value; } } // Check to see if HyperParameterTuningJobConfig property is set internal bool IsSetHyperParameterTuningJobConfig() { return this._hyperParameterTuningJobConfig != null; } /// /// Gets and sets the property HyperParameterTuningJobName. /// /// The name of the tuning job. This name is the prefix for the names of all training /// jobs that this tuning job launches. The name must be unique within the same Amazon /// Web Services account and Amazon Web Services Region. The name must have 1 to 32 characters. /// Valid characters are a-z, A-Z, 0-9, and : + = @ _ % - (hyphen). The name is not case /// sensitive. /// /// [AWSProperty(Required=true, Min=1, Max=32)] public string HyperParameterTuningJobName { get { return this._hyperParameterTuningJobName; } set { this._hyperParameterTuningJobName = value; } } // Check to see if HyperParameterTuningJobName property is set internal bool IsSetHyperParameterTuningJobName() { return this._hyperParameterTuningJobName != null; } /// /// Gets and sets the property Tags. /// /// An array of key-value pairs. You can use tags to categorize your Amazon Web Services /// resources in different ways, for example, by purpose, owner, or environment. For more /// information, see Tagging /// Amazon Web Services Resources. /// /// /// /// Tags that you specify for the tuning job are also added to all training jobs that /// the tuning job launches. /// /// [AWSProperty(Min=0, Max=50)] public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property TrainingJobDefinition. /// /// The HyperParameterTrainingJobDefinition /// object that describes the training jobs that this tuning job launches, including static /// hyperparameters, input data configuration, output data configuration, resource configuration, /// and stopping condition. /// /// public HyperParameterTrainingJobDefinition TrainingJobDefinition { get { return this._trainingJobDefinition; } set { this._trainingJobDefinition = value; } } // Check to see if TrainingJobDefinition property is set internal bool IsSetTrainingJobDefinition() { return this._trainingJobDefinition != null; } /// /// Gets and sets the property TrainingJobDefinitions. /// /// A list of the HyperParameterTrainingJobDefinition /// objects launched for this tuning job. /// /// [AWSProperty(Min=1, Max=10)] public List TrainingJobDefinitions { get { return this._trainingJobDefinitions; } set { this._trainingJobDefinitions = value; } } // Check to see if TrainingJobDefinitions property is set internal bool IsSetTrainingJobDefinitions() { return this._trainingJobDefinitions != null && this._trainingJobDefinitions.Count > 0; } /// /// Gets and sets the property WarmStartConfig. /// /// Specifies the configuration for starting the hyperparameter tuning job using one or /// more previous 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. If you specify IDENTICAL_DATA_AND_ALGORITHM as /// the WarmStartType value for the warm start configuration, the training /// job that performs the best in the new tuning job 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 HyperParameterTuningJobWarmStartConfig WarmStartConfig { get { return this._warmStartConfig; } set { this._warmStartConfig = value; } } // Check to see if WarmStartConfig property is set internal bool IsSetWarmStartConfig() { return this._warmStartConfig != null; } } }