/* * 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 { /// /// This is the response object from the DescribeTrainingJob operation. /// public partial class DescribeTrainingJobResponse : AmazonWebServiceResponse { private AlgorithmSpecification _algorithmSpecification; private string _autoMLJobArn; private int? _billableTimeInSeconds; private CheckpointConfig _checkpointConfig; private DateTime? _creationTime; private DebugHookConfig _debugHookConfig; private List _debugRuleConfigurations = new List(); private List _debugRuleEvaluationStatuses = new List(); private bool? _enableInterContainerTrafficEncryption; private bool? _enableManagedSpotTraining; private bool? _enableNetworkIsolation; private Dictionary _environment = new Dictionary(); private ExperimentConfig _experimentConfig; private string _failureReason; private List _finalMetricDataList = new List(); private Dictionary _hyperParameters = new Dictionary(); private List _inputDataConfig = new List(); private string _labelingJobArn; private DateTime? _lastModifiedTime; private ModelArtifacts _modelArtifacts; private OutputDataConfig _outputDataConfig; private ProfilerConfig _profilerConfig; private List _profilerRuleConfigurations = new List(); private List _profilerRuleEvaluationStatuses = new List(); private ProfilingStatus _profilingStatus; private ResourceConfig _resourceConfig; private RetryStrategy _retryStrategy; private string _roleArn; private SecondaryStatus _secondaryStatus; private List _secondaryStatusTransitions = new List(); private StoppingCondition _stoppingCondition; private TensorBoardOutputConfig _tensorBoardOutputConfig; private DateTime? _trainingEndTime; private string _trainingJobArn; private string _trainingJobName; private TrainingJobStatus _trainingJobStatus; private DateTime? _trainingStartTime; private int? _trainingTimeInSeconds; private string _tuningJobArn; private VpcConfig _vpcConfig; private WarmPoolStatus _warmPoolStatus; /// /// Gets and sets the property AlgorithmSpecification. /// /// Information about the algorithm used for training, and algorithm metadata. /// /// [AWSProperty(Required=true)] public AlgorithmSpecification AlgorithmSpecification { get { return this._algorithmSpecification; } set { this._algorithmSpecification = value; } } // Check to see if AlgorithmSpecification property is set internal bool IsSetAlgorithmSpecification() { return this._algorithmSpecification != null; } /// /// Gets and sets the property AutoMLJobArn. /// /// The Amazon Resource Name (ARN) of an AutoML job. /// /// [AWSProperty(Min=1, Max=256)] public string AutoMLJobArn { get { return this._autoMLJobArn; } set { this._autoMLJobArn = value; } } // Check to see if AutoMLJobArn property is set internal bool IsSetAutoMLJobArn() { return this._autoMLJobArn != null; } /// /// Gets and sets the property BillableTimeInSeconds. /// /// The billable time in seconds. Billable time refers to the absolute wall-clock time. /// /// /// /// Multiply BillableTimeInSeconds by the number of instances (InstanceCount) /// in your training cluster to get the total compute time SageMaker bills you if you /// run distributed training. The formula is as follows: BillableTimeInSeconds * /// InstanceCount . /// /// /// /// You can calculate the savings from using managed spot training using the formula (1 /// - BillableTimeInSeconds / TrainingTimeInSeconds) * 100. For example, if BillableTimeInSeconds /// is 100 and TrainingTimeInSeconds is 500, the savings is 80%. /// /// [AWSProperty(Min=1)] public int BillableTimeInSeconds { get { return this._billableTimeInSeconds.GetValueOrDefault(); } set { this._billableTimeInSeconds = value; } } // Check to see if BillableTimeInSeconds property is set internal bool IsSetBillableTimeInSeconds() { return this._billableTimeInSeconds.HasValue; } /// /// Gets and sets the property CheckpointConfig. /// public CheckpointConfig CheckpointConfig { get { return this._checkpointConfig; } set { this._checkpointConfig = value; } } // Check to see if CheckpointConfig property is set internal bool IsSetCheckpointConfig() { return this._checkpointConfig != null; } /// /// Gets and sets the property CreationTime. /// /// A timestamp that indicates when the training job was created. /// /// [AWSProperty(Required=true)] public DateTime CreationTime { get { return this._creationTime.GetValueOrDefault(); } set { this._creationTime = value; } } // Check to see if CreationTime property is set internal bool IsSetCreationTime() { return this._creationTime.HasValue; } /// /// Gets and sets the property DebugHookConfig. /// public DebugHookConfig DebugHookConfig { get { return this._debugHookConfig; } set { this._debugHookConfig = value; } } // Check to see if DebugHookConfig property is set internal bool IsSetDebugHookConfig() { return this._debugHookConfig != null; } /// /// Gets and sets the property DebugRuleConfigurations. /// /// Configuration information for Amazon SageMaker Debugger rules for debugging output /// tensors. /// /// [AWSProperty(Min=0, Max=20)] public List DebugRuleConfigurations { get { return this._debugRuleConfigurations; } set { this._debugRuleConfigurations = value; } } // Check to see if DebugRuleConfigurations property is set internal bool IsSetDebugRuleConfigurations() { return this._debugRuleConfigurations != null && this._debugRuleConfigurations.Count > 0; } /// /// Gets and sets the property DebugRuleEvaluationStatuses. /// /// Evaluation status of Amazon SageMaker Debugger rules for debugging on a training job. /// /// [AWSProperty(Min=0, Max=20)] public List DebugRuleEvaluationStatuses { get { return this._debugRuleEvaluationStatuses; } set { this._debugRuleEvaluationStatuses = value; } } // Check to see if DebugRuleEvaluationStatuses property is set internal bool IsSetDebugRuleEvaluationStatuses() { return this._debugRuleEvaluationStatuses != null && this._debugRuleEvaluationStatuses.Count > 0; } /// /// Gets and sets the property EnableInterContainerTrafficEncryption. /// /// To encrypt all communications between ML compute instances in distributed training, /// choose True. Encryption provides greater security for distributed training, /// but training might take longer. How long it takes depends on the amount of communication /// between compute instances, especially if you use a deep learning algorithms in distributed /// training. /// /// public bool EnableInterContainerTrafficEncryption { get { return this._enableInterContainerTrafficEncryption.GetValueOrDefault(); } set { this._enableInterContainerTrafficEncryption = value; } } // Check to see if EnableInterContainerTrafficEncryption property is set internal bool IsSetEnableInterContainerTrafficEncryption() { return this._enableInterContainerTrafficEncryption.HasValue; } /// /// Gets and sets the property EnableManagedSpotTraining. /// /// A Boolean indicating whether managed spot training is enabled (True) /// or not (False). /// /// public bool EnableManagedSpotTraining { get { return this._enableManagedSpotTraining.GetValueOrDefault(); } set { this._enableManagedSpotTraining = value; } } // Check to see if EnableManagedSpotTraining property is set internal bool IsSetEnableManagedSpotTraining() { return this._enableManagedSpotTraining.HasValue; } /// /// Gets and sets the property EnableNetworkIsolation. /// /// If you want to allow inbound or outbound network calls, except for calls between peers /// within a training cluster for distributed training, choose True. If you /// enable network isolation for training jobs that are configured to use a VPC, SageMaker /// downloads and uploads customer data and model artifacts through the specified VPC, /// but the training container does not have network access. /// /// public bool EnableNetworkIsolation { get { return this._enableNetworkIsolation.GetValueOrDefault(); } set { this._enableNetworkIsolation = value; } } // Check to see if EnableNetworkIsolation property is set internal bool IsSetEnableNetworkIsolation() { return this._enableNetworkIsolation.HasValue; } /// /// Gets and sets the property Environment. /// /// The environment variables to set in the Docker container. /// /// [AWSProperty(Max=48)] public Dictionary Environment { get { return this._environment; } set { this._environment = value; } } // Check to see if Environment property is set internal bool IsSetEnvironment() { return this._environment != null && this._environment.Count > 0; } /// /// Gets and sets the property ExperimentConfig. /// public ExperimentConfig ExperimentConfig { get { return this._experimentConfig; } set { this._experimentConfig = value; } } // Check to see if ExperimentConfig property is set internal bool IsSetExperimentConfig() { return this._experimentConfig != null; } /// /// Gets and sets the property FailureReason. /// /// If the training job failed, the reason it failed. /// /// [AWSProperty(Max=1024)] public string FailureReason { get { return this._failureReason; } set { this._failureReason = value; } } // Check to see if FailureReason property is set internal bool IsSetFailureReason() { return this._failureReason != null; } /// /// Gets and sets the property FinalMetricDataList. /// /// A collection of MetricData objects that specify the names, values, and /// dates and times that the training algorithm emitted to Amazon CloudWatch. /// /// [AWSProperty(Min=0, Max=40)] public List FinalMetricDataList { get { return this._finalMetricDataList; } set { this._finalMetricDataList = value; } } // Check to see if FinalMetricDataList property is set internal bool IsSetFinalMetricDataList() { return this._finalMetricDataList != null && this._finalMetricDataList.Count > 0; } /// /// Gets and sets the property HyperParameters. /// /// Algorithm-specific parameters. /// /// [AWSProperty(Min=0, Max=100)] public Dictionary HyperParameters { get { return this._hyperParameters; } set { this._hyperParameters = value; } } // Check to see if HyperParameters property is set internal bool IsSetHyperParameters() { return this._hyperParameters != null && this._hyperParameters.Count > 0; } /// /// Gets and sets the property InputDataConfig. /// /// An array of Channel objects that describes each data input channel. /// /// [AWSProperty(Min=1, Max=20)] public List InputDataConfig { get { return this._inputDataConfig; } set { this._inputDataConfig = value; } } // Check to see if InputDataConfig property is set internal bool IsSetInputDataConfig() { return this._inputDataConfig != null && this._inputDataConfig.Count > 0; } /// /// Gets and sets the property LabelingJobArn. /// /// The Amazon Resource Name (ARN) of the SageMaker Ground Truth labeling job that created /// the transform or training job. /// /// [AWSProperty(Max=2048)] public string LabelingJobArn { get { return this._labelingJobArn; } set { this._labelingJobArn = value; } } // Check to see if LabelingJobArn property is set internal bool IsSetLabelingJobArn() { return this._labelingJobArn != null; } /// /// Gets and sets the property LastModifiedTime. /// /// A timestamp that indicates when the status of the training job was last modified. /// /// public DateTime LastModifiedTime { get { return this._lastModifiedTime.GetValueOrDefault(); } set { this._lastModifiedTime = value; } } // Check to see if LastModifiedTime property is set internal bool IsSetLastModifiedTime() { return this._lastModifiedTime.HasValue; } /// /// Gets and sets the property ModelArtifacts. /// /// Information about the Amazon S3 location that is configured for storing model artifacts. /// /// /// [AWSProperty(Required=true)] public ModelArtifacts ModelArtifacts { get { return this._modelArtifacts; } set { this._modelArtifacts = value; } } // Check to see if ModelArtifacts property is set internal bool IsSetModelArtifacts() { return this._modelArtifacts != null; } /// /// Gets and sets the property OutputDataConfig. /// /// The S3 path where model artifacts that you configured when creating the job are stored. /// SageMaker creates subfolders for model artifacts. /// /// public OutputDataConfig OutputDataConfig { get { return this._outputDataConfig; } set { this._outputDataConfig = value; } } // Check to see if OutputDataConfig property is set internal bool IsSetOutputDataConfig() { return this._outputDataConfig != null; } /// /// Gets and sets the property ProfilerConfig. /// public ProfilerConfig ProfilerConfig { get { return this._profilerConfig; } set { this._profilerConfig = value; } } // Check to see if ProfilerConfig property is set internal bool IsSetProfilerConfig() { return this._profilerConfig != null; } /// /// Gets and sets the property ProfilerRuleConfigurations. /// /// Configuration information for Amazon SageMaker Debugger rules for profiling system /// and framework metrics. /// /// [AWSProperty(Min=0, Max=20)] public List ProfilerRuleConfigurations { get { return this._profilerRuleConfigurations; } set { this._profilerRuleConfigurations = value; } } // Check to see if ProfilerRuleConfigurations property is set internal bool IsSetProfilerRuleConfigurations() { return this._profilerRuleConfigurations != null && this._profilerRuleConfigurations.Count > 0; } /// /// Gets and sets the property ProfilerRuleEvaluationStatuses. /// /// Evaluation status of Amazon SageMaker Debugger rules for profiling on a training job. /// /// [AWSProperty(Min=0, Max=20)] public List ProfilerRuleEvaluationStatuses { get { return this._profilerRuleEvaluationStatuses; } set { this._profilerRuleEvaluationStatuses = value; } } // Check to see if ProfilerRuleEvaluationStatuses property is set internal bool IsSetProfilerRuleEvaluationStatuses() { return this._profilerRuleEvaluationStatuses != null && this._profilerRuleEvaluationStatuses.Count > 0; } /// /// Gets and sets the property ProfilingStatus. /// /// Profiling status of a training job. /// /// public ProfilingStatus ProfilingStatus { get { return this._profilingStatus; } set { this._profilingStatus = value; } } // Check to see if ProfilingStatus property is set internal bool IsSetProfilingStatus() { return this._profilingStatus != null; } /// /// Gets and sets the property ResourceConfig. /// /// Resources, including ML compute instances and ML storage volumes, that are configured /// for model training. /// /// [AWSProperty(Required=true)] public ResourceConfig ResourceConfig { get { return this._resourceConfig; } set { this._resourceConfig = value; } } // Check to see if ResourceConfig property is set internal bool IsSetResourceConfig() { return this._resourceConfig != null; } /// /// Gets and sets the property RetryStrategy. /// /// The number of times to retry the job when the job fails due to an InternalServerError. /// /// public RetryStrategy RetryStrategy { get { return this._retryStrategy; } set { this._retryStrategy = value; } } // Check to see if RetryStrategy property is set internal bool IsSetRetryStrategy() { return this._retryStrategy != null; } /// /// Gets and sets the property RoleArn. /// /// The Amazon Web Services Identity and Access Management (IAM) role configured for the /// training job. /// /// [AWSProperty(Min=20, Max=2048)] public string RoleArn { get { return this._roleArn; } set { this._roleArn = value; } } // Check to see if RoleArn property is set internal bool IsSetRoleArn() { return this._roleArn != null; } /// /// Gets and sets the property SecondaryStatus. /// /// Provides detailed information about the state of the training job. For detailed information /// on the secondary status of the training job, see StatusMessage under /// SecondaryStatusTransition. /// /// /// /// SageMaker provides primary statuses and secondary statuses that apply to each of them: /// ///
InProgress
  • /// /// Starting - Starting the training job. /// ///
  • /// /// Downloading - An optional stage for algorithms that support File /// training input mode. It indicates that data is being downloaded to the ML storage /// volumes. /// ///
  • /// /// Training - Training is in progress. /// ///
  • /// /// Interrupted - The job stopped because the managed spot training instances /// were interrupted. /// ///
  • /// /// Uploading - Training is complete and the model artifacts are being uploaded /// to the S3 location. /// ///
Completed
  • /// /// Completed - The training job has completed. /// ///
Failed
  • /// /// Failed - The training job has failed. The reason for the failure is /// returned in the FailureReason field of DescribeTrainingJobResponse. /// ///
Stopped
  • /// /// MaxRuntimeExceeded - The job stopped because it exceeded the maximum /// allowed runtime. /// ///
  • /// /// MaxWaitTimeExceeded - The job stopped because it exceeded the maximum /// allowed wait time. /// ///
  • /// /// Stopped - The training job has stopped. /// ///
Stopping
  • /// /// Stopping - Stopping the training job. /// ///
/// /// Valid values for SecondaryStatus are subject to change. /// /// /// /// We no longer support the following secondary statuses: /// ///
  • /// /// LaunchingMLInstances /// ///
  • /// /// PreparingTraining /// ///
  • /// /// DownloadingTrainingImage /// ///
///
[AWSProperty(Required=true)] public SecondaryStatus SecondaryStatus { get { return this._secondaryStatus; } set { this._secondaryStatus = value; } } // Check to see if SecondaryStatus property is set internal bool IsSetSecondaryStatus() { return this._secondaryStatus != null; } /// /// Gets and sets the property SecondaryStatusTransitions. /// /// A history of all of the secondary statuses that the training job has transitioned /// through. /// /// public List SecondaryStatusTransitions { get { return this._secondaryStatusTransitions; } set { this._secondaryStatusTransitions = value; } } // Check to see if SecondaryStatusTransitions property is set internal bool IsSetSecondaryStatusTransitions() { return this._secondaryStatusTransitions != null && this._secondaryStatusTransitions.Count > 0; } /// /// Gets and sets the property StoppingCondition. /// /// Specifies a limit to how long a model training job can run. It also specifies how /// long a managed Spot training job has to complete. When the job reaches the time limit, /// SageMaker ends the training job. Use this API to cap model training costs. /// /// /// /// To stop a job, SageMaker sends the algorithm the SIGTERM signal, which /// delays job termination for 120 seconds. Algorithms can use this 120-second window /// to save the model artifacts, so the results of training are not lost. /// /// [AWSProperty(Required=true)] public StoppingCondition StoppingCondition { get { return this._stoppingCondition; } set { this._stoppingCondition = value; } } // Check to see if StoppingCondition property is set internal bool IsSetStoppingCondition() { return this._stoppingCondition != null; } /// /// Gets and sets the property TensorBoardOutputConfig. /// public TensorBoardOutputConfig TensorBoardOutputConfig { get { return this._tensorBoardOutputConfig; } set { this._tensorBoardOutputConfig = value; } } // Check to see if TensorBoardOutputConfig property is set internal bool IsSetTensorBoardOutputConfig() { return this._tensorBoardOutputConfig != null; } /// /// Gets and sets the property TrainingEndTime. /// /// Indicates the time when the training job ends on training instances. You are billed /// for the time interval between the value of TrainingStartTime and this /// time. For successful jobs and stopped jobs, this is the time after model artifacts /// are uploaded. For failed jobs, this is the time when SageMaker detects a job failure. /// /// public DateTime TrainingEndTime { get { return this._trainingEndTime.GetValueOrDefault(); } set { this._trainingEndTime = value; } } // Check to see if TrainingEndTime property is set internal bool IsSetTrainingEndTime() { return this._trainingEndTime.HasValue; } /// /// Gets and sets the property TrainingJobArn. /// /// The Amazon Resource Name (ARN) of the training job. /// /// [AWSProperty(Required=true, Max=256)] public string TrainingJobArn { get { return this._trainingJobArn; } set { this._trainingJobArn = value; } } // Check to see if TrainingJobArn property is set internal bool IsSetTrainingJobArn() { return this._trainingJobArn != null; } /// /// Gets and sets the property TrainingJobName. /// /// Name of the model training job. /// /// [AWSProperty(Required=true, Min=1, Max=63)] public string TrainingJobName { get { return this._trainingJobName; } set { this._trainingJobName = value; } } // Check to see if TrainingJobName property is set internal bool IsSetTrainingJobName() { return this._trainingJobName != null; } /// /// Gets and sets the property TrainingJobStatus. /// /// The status of the training job. /// /// /// /// SageMaker provides the following training job statuses: /// ///
  • /// /// InProgress - The training is in progress. /// ///
  • /// /// Completed - The training job has completed. /// ///
  • /// /// Failed - The training job has failed. To see the reason for the failure, /// see the FailureReason field in the response to a DescribeTrainingJobResponse /// call. /// ///
  • /// /// Stopping - The training job is stopping. /// ///
  • /// /// Stopped - The training job has stopped. /// ///
/// /// For more detailed information, see SecondaryStatus. /// ///
[AWSProperty(Required=true)] public TrainingJobStatus TrainingJobStatus { get { return this._trainingJobStatus; } set { this._trainingJobStatus = value; } } // Check to see if TrainingJobStatus property is set internal bool IsSetTrainingJobStatus() { return this._trainingJobStatus != null; } /// /// Gets and sets the property TrainingStartTime. /// /// Indicates the time when the training job starts on training instances. You are billed /// for the time interval between this time and the value of TrainingEndTime. /// The start time in CloudWatch Logs might be later than this time. The difference is /// due to the time it takes to download the training data and to the size of the training /// container. /// /// public DateTime TrainingStartTime { get { return this._trainingStartTime.GetValueOrDefault(); } set { this._trainingStartTime = value; } } // Check to see if TrainingStartTime property is set internal bool IsSetTrainingStartTime() { return this._trainingStartTime.HasValue; } /// /// Gets and sets the property TrainingTimeInSeconds. /// /// The training time in seconds. /// /// [AWSProperty(Min=1)] public int TrainingTimeInSeconds { get { return this._trainingTimeInSeconds.GetValueOrDefault(); } set { this._trainingTimeInSeconds = value; } } // Check to see if TrainingTimeInSeconds property is set internal bool IsSetTrainingTimeInSeconds() { return this._trainingTimeInSeconds.HasValue; } /// /// Gets and sets the property TuningJobArn. /// /// The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the /// training job was launched by a hyperparameter tuning job. /// /// [AWSProperty(Max=256)] public string TuningJobArn { get { return this._tuningJobArn; } set { this._tuningJobArn = value; } } // Check to see if TuningJobArn property is set internal bool IsSetTuningJobArn() { return this._tuningJobArn != null; } /// /// Gets and sets the property VpcConfig. /// /// A VpcConfig /// object that specifies the VPC that this training job has access to. For more information, /// see Protect /// Training Jobs by Using an Amazon Virtual Private Cloud. /// /// public VpcConfig VpcConfig { get { return this._vpcConfig; } set { this._vpcConfig = value; } } // Check to see if VpcConfig property is set internal bool IsSetVpcConfig() { return this._vpcConfig != null; } /// /// Gets and sets the property WarmPoolStatus. /// /// The status of the warm pool associated with the training job. /// /// public WarmPoolStatus WarmPoolStatus { get { return this._warmPoolStatus; } set { this._warmPoolStatus = value; } } // Check to see if WarmPoolStatus property is set internal bool IsSetWarmPoolStatus() { return this._warmPoolStatus != null; } } }