/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

The container for the summary information about a training job.

See * Also:

AWS * API Reference

*/ class HyperParameterTrainingJobSummary { public: AWS_SAGEMAKER_API HyperParameterTrainingJobSummary(); AWS_SAGEMAKER_API HyperParameterTrainingJobSummary(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API HyperParameterTrainingJobSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The training job definition name.

*/ inline const Aws::String& GetTrainingJobDefinitionName() const{ return m_trainingJobDefinitionName; } /** *

The training job definition name.

*/ inline bool TrainingJobDefinitionNameHasBeenSet() const { return m_trainingJobDefinitionNameHasBeenSet; } /** *

The training job definition name.

*/ inline void SetTrainingJobDefinitionName(const Aws::String& value) { m_trainingJobDefinitionNameHasBeenSet = true; m_trainingJobDefinitionName = value; } /** *

The training job definition name.

*/ inline void SetTrainingJobDefinitionName(Aws::String&& value) { m_trainingJobDefinitionNameHasBeenSet = true; m_trainingJobDefinitionName = std::move(value); } /** *

The training job definition name.

*/ inline void SetTrainingJobDefinitionName(const char* value) { m_trainingJobDefinitionNameHasBeenSet = true; m_trainingJobDefinitionName.assign(value); } /** *

The training job definition name.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobDefinitionName(const Aws::String& value) { SetTrainingJobDefinitionName(value); return *this;} /** *

The training job definition name.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobDefinitionName(Aws::String&& value) { SetTrainingJobDefinitionName(std::move(value)); return *this;} /** *

The training job definition name.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobDefinitionName(const char* value) { SetTrainingJobDefinitionName(value); return *this;} /** *

The name of the training job.

*/ inline const Aws::String& GetTrainingJobName() const{ return m_trainingJobName; } /** *

The name of the training job.

*/ inline bool TrainingJobNameHasBeenSet() const { return m_trainingJobNameHasBeenSet; } /** *

The name of the training job.

*/ inline void SetTrainingJobName(const Aws::String& value) { m_trainingJobNameHasBeenSet = true; m_trainingJobName = value; } /** *

The name of the training job.

*/ inline void SetTrainingJobName(Aws::String&& value) { m_trainingJobNameHasBeenSet = true; m_trainingJobName = std::move(value); } /** *

The name of the training job.

*/ inline void SetTrainingJobName(const char* value) { m_trainingJobNameHasBeenSet = true; m_trainingJobName.assign(value); } /** *

The name of the training job.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobName(const Aws::String& value) { SetTrainingJobName(value); return *this;} /** *

The name of the training job.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobName(Aws::String&& value) { SetTrainingJobName(std::move(value)); return *this;} /** *

The name of the training job.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobName(const char* value) { SetTrainingJobName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline const Aws::String& GetTrainingJobArn() const{ return m_trainingJobArn; } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline bool TrainingJobArnHasBeenSet() const { return m_trainingJobArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline void SetTrainingJobArn(const Aws::String& value) { m_trainingJobArnHasBeenSet = true; m_trainingJobArn = value; } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline void SetTrainingJobArn(Aws::String&& value) { m_trainingJobArnHasBeenSet = true; m_trainingJobArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline void SetTrainingJobArn(const char* value) { m_trainingJobArnHasBeenSet = true; m_trainingJobArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobArn(const Aws::String& value) { SetTrainingJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobArn(Aws::String&& value) { SetTrainingJobArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobArn(const char* value) { SetTrainingJobArn(value); return *this;} /** *

The HyperParameter tuning job that launched the training job.

*/ inline const Aws::String& GetTuningJobName() const{ return m_tuningJobName; } /** *

The HyperParameter tuning job that launched the training job.

*/ inline bool TuningJobNameHasBeenSet() const { return m_tuningJobNameHasBeenSet; } /** *

The HyperParameter tuning job that launched the training job.

*/ inline void SetTuningJobName(const Aws::String& value) { m_tuningJobNameHasBeenSet = true; m_tuningJobName = value; } /** *

The HyperParameter tuning job that launched the training job.

*/ inline void SetTuningJobName(Aws::String&& value) { m_tuningJobNameHasBeenSet = true; m_tuningJobName = std::move(value); } /** *

The HyperParameter tuning job that launched the training job.

*/ inline void SetTuningJobName(const char* value) { m_tuningJobNameHasBeenSet = true; m_tuningJobName.assign(value); } /** *

The HyperParameter tuning job that launched the training job.

*/ inline HyperParameterTrainingJobSummary& WithTuningJobName(const Aws::String& value) { SetTuningJobName(value); return *this;} /** *

The HyperParameter tuning job that launched the training job.

*/ inline HyperParameterTrainingJobSummary& WithTuningJobName(Aws::String&& value) { SetTuningJobName(std::move(value)); return *this;} /** *

The HyperParameter tuning job that launched the training job.

*/ inline HyperParameterTrainingJobSummary& WithTuningJobName(const char* value) { SetTuningJobName(value); return *this;} /** *

The date and time that the training job was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The date and time that the training job was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The date and time that the training job was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The date and time that the training job was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The date and time that the training job was created.

*/ inline HyperParameterTrainingJobSummary& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The date and time that the training job was created.

*/ inline HyperParameterTrainingJobSummary& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The date and time that the training job started.

*/ inline const Aws::Utils::DateTime& GetTrainingStartTime() const{ return m_trainingStartTime; } /** *

The date and time that the training job started.

*/ inline bool TrainingStartTimeHasBeenSet() const { return m_trainingStartTimeHasBeenSet; } /** *

The date and time that the training job started.

*/ inline void SetTrainingStartTime(const Aws::Utils::DateTime& value) { m_trainingStartTimeHasBeenSet = true; m_trainingStartTime = value; } /** *

The date and time that the training job started.

*/ inline void SetTrainingStartTime(Aws::Utils::DateTime&& value) { m_trainingStartTimeHasBeenSet = true; m_trainingStartTime = std::move(value); } /** *

The date and time that the training job started.

*/ inline HyperParameterTrainingJobSummary& WithTrainingStartTime(const Aws::Utils::DateTime& value) { SetTrainingStartTime(value); return *this;} /** *

The date and time that the training job started.

*/ inline HyperParameterTrainingJobSummary& WithTrainingStartTime(Aws::Utils::DateTime&& value) { SetTrainingStartTime(std::move(value)); return *this;} /** *

Specifies 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.

*/ inline const Aws::Utils::DateTime& GetTrainingEndTime() const{ return m_trainingEndTime; } /** *

Specifies 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.

*/ inline bool TrainingEndTimeHasBeenSet() const { return m_trainingEndTimeHasBeenSet; } /** *

Specifies 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.

*/ inline void SetTrainingEndTime(const Aws::Utils::DateTime& value) { m_trainingEndTimeHasBeenSet = true; m_trainingEndTime = value; } /** *

Specifies 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.

*/ inline void SetTrainingEndTime(Aws::Utils::DateTime&& value) { m_trainingEndTimeHasBeenSet = true; m_trainingEndTime = std::move(value); } /** *

Specifies 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.

*/ inline HyperParameterTrainingJobSummary& WithTrainingEndTime(const Aws::Utils::DateTime& value) { SetTrainingEndTime(value); return *this;} /** *

Specifies 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.

*/ inline HyperParameterTrainingJobSummary& WithTrainingEndTime(Aws::Utils::DateTime&& value) { SetTrainingEndTime(std::move(value)); return *this;} /** *

The status of the training job.

*/ inline const TrainingJobStatus& GetTrainingJobStatus() const{ return m_trainingJobStatus; } /** *

The status of the training job.

*/ inline bool TrainingJobStatusHasBeenSet() const { return m_trainingJobStatusHasBeenSet; } /** *

The status of the training job.

*/ inline void SetTrainingJobStatus(const TrainingJobStatus& value) { m_trainingJobStatusHasBeenSet = true; m_trainingJobStatus = value; } /** *

The status of the training job.

*/ inline void SetTrainingJobStatus(TrainingJobStatus&& value) { m_trainingJobStatusHasBeenSet = true; m_trainingJobStatus = std::move(value); } /** *

The status of the training job.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobStatus(const TrainingJobStatus& value) { SetTrainingJobStatus(value); return *this;} /** *

The status of the training job.

*/ inline HyperParameterTrainingJobSummary& WithTrainingJobStatus(TrainingJobStatus&& value) { SetTrainingJobStatus(std::move(value)); return *this;} /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline const Aws::Map& GetTunedHyperParameters() const{ return m_tunedHyperParameters; } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline bool TunedHyperParametersHasBeenSet() const { return m_tunedHyperParametersHasBeenSet; } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline void SetTunedHyperParameters(const Aws::Map& value) { m_tunedHyperParametersHasBeenSet = true; m_tunedHyperParameters = value; } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline void SetTunedHyperParameters(Aws::Map&& value) { m_tunedHyperParametersHasBeenSet = true; m_tunedHyperParameters = std::move(value); } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline HyperParameterTrainingJobSummary& WithTunedHyperParameters(const Aws::Map& value) { SetTunedHyperParameters(value); return *this;} /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline HyperParameterTrainingJobSummary& WithTunedHyperParameters(Aws::Map&& value) { SetTunedHyperParameters(std::move(value)); return *this;} /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline HyperParameterTrainingJobSummary& AddTunedHyperParameters(const Aws::String& key, const Aws::String& value) { m_tunedHyperParametersHasBeenSet = true; m_tunedHyperParameters.emplace(key, value); return *this; } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline HyperParameterTrainingJobSummary& AddTunedHyperParameters(Aws::String&& key, const Aws::String& value) { m_tunedHyperParametersHasBeenSet = true; m_tunedHyperParameters.emplace(std::move(key), value); return *this; } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline HyperParameterTrainingJobSummary& AddTunedHyperParameters(const Aws::String& key, Aws::String&& value) { m_tunedHyperParametersHasBeenSet = true; m_tunedHyperParameters.emplace(key, std::move(value)); return *this; } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline HyperParameterTrainingJobSummary& AddTunedHyperParameters(Aws::String&& key, Aws::String&& value) { m_tunedHyperParametersHasBeenSet = true; m_tunedHyperParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline HyperParameterTrainingJobSummary& AddTunedHyperParameters(const char* key, Aws::String&& value) { m_tunedHyperParametersHasBeenSet = true; m_tunedHyperParameters.emplace(key, std::move(value)); return *this; } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline HyperParameterTrainingJobSummary& AddTunedHyperParameters(Aws::String&& key, const char* value) { m_tunedHyperParametersHasBeenSet = true; m_tunedHyperParameters.emplace(std::move(key), value); return *this; } /** *

A list of the hyperparameters for which you specified ranges to search.

*/ inline HyperParameterTrainingJobSummary& AddTunedHyperParameters(const char* key, const char* value) { m_tunedHyperParametersHasBeenSet = true; m_tunedHyperParameters.emplace(key, value); return *this; } /** *

The reason that the training job failed.

*/ inline const Aws::String& GetFailureReason() const{ return m_failureReason; } /** *

The reason that the training job failed.

*/ inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } /** *

The reason that the training job failed.

*/ inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } /** *

The reason that the training job failed.

*/ inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } /** *

The reason that the training job failed.

*/ inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } /** *

The reason that the training job failed.

*/ inline HyperParameterTrainingJobSummary& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} /** *

The reason that the training job failed.

*/ inline HyperParameterTrainingJobSummary& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} /** *

The reason that the training job failed.

*/ inline HyperParameterTrainingJobSummary& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} /** *

The FinalHyperParameterTuningJobObjectiveMetric * object that specifies the value of the objective metric of the tuning job that * launched this training job.

*/ inline const FinalHyperParameterTuningJobObjectiveMetric& GetFinalHyperParameterTuningJobObjectiveMetric() const{ return m_finalHyperParameterTuningJobObjectiveMetric; } /** *

The FinalHyperParameterTuningJobObjectiveMetric * object that specifies the value of the objective metric of the tuning job that * launched this training job.

*/ inline bool FinalHyperParameterTuningJobObjectiveMetricHasBeenSet() const { return m_finalHyperParameterTuningJobObjectiveMetricHasBeenSet; } /** *

The FinalHyperParameterTuningJobObjectiveMetric * object that specifies the value of the objective metric of the tuning job that * launched this training job.

*/ inline void SetFinalHyperParameterTuningJobObjectiveMetric(const FinalHyperParameterTuningJobObjectiveMetric& value) { m_finalHyperParameterTuningJobObjectiveMetricHasBeenSet = true; m_finalHyperParameterTuningJobObjectiveMetric = value; } /** *

The FinalHyperParameterTuningJobObjectiveMetric * object that specifies the value of the objective metric of the tuning job that * launched this training job.

*/ inline void SetFinalHyperParameterTuningJobObjectiveMetric(FinalHyperParameterTuningJobObjectiveMetric&& value) { m_finalHyperParameterTuningJobObjectiveMetricHasBeenSet = true; m_finalHyperParameterTuningJobObjectiveMetric = std::move(value); } /** *

The FinalHyperParameterTuningJobObjectiveMetric * object that specifies the value of the objective metric of the tuning job that * launched this training job.

*/ inline HyperParameterTrainingJobSummary& WithFinalHyperParameterTuningJobObjectiveMetric(const FinalHyperParameterTuningJobObjectiveMetric& value) { SetFinalHyperParameterTuningJobObjectiveMetric(value); return *this;} /** *

The FinalHyperParameterTuningJobObjectiveMetric * object that specifies the value of the objective metric of the tuning job that * launched this training job.

*/ inline HyperParameterTrainingJobSummary& WithFinalHyperParameterTuningJobObjectiveMetric(FinalHyperParameterTuningJobObjectiveMetric&& value) { SetFinalHyperParameterTuningJobObjectiveMetric(std::move(value)); return *this;} /** *

The status of the objective metric for the training job:

  • *

    Succeeded: The final objective metric for the training job was evaluated by * the hyperparameter tuning job and used in the hyperparameter tuning process.

    *
  • Pending: The training job is in progress and evaluation * of its final objective metric is pending.

  • Failed: * The final objective metric for the training job was not evaluated, and was not * used in the hyperparameter tuning process. This typically occurs when the * training job failed or did not emit an objective metric.

*/ inline const ObjectiveStatus& GetObjectiveStatus() const{ return m_objectiveStatus; } /** *

The status of the objective metric for the training job:

  • *

    Succeeded: The final objective metric for the training job was evaluated by * the hyperparameter tuning job and used in the hyperparameter tuning process.

    *
  • Pending: The training job is in progress and evaluation * of its final objective metric is pending.

  • Failed: * The final objective metric for the training job was not evaluated, and was not * used in the hyperparameter tuning process. This typically occurs when the * training job failed or did not emit an objective metric.

*/ inline bool ObjectiveStatusHasBeenSet() const { return m_objectiveStatusHasBeenSet; } /** *

The status of the objective metric for the training job:

  • *

    Succeeded: The final objective metric for the training job was evaluated by * the hyperparameter tuning job and used in the hyperparameter tuning process.

    *
  • Pending: The training job is in progress and evaluation * of its final objective metric is pending.

  • Failed: * The final objective metric for the training job was not evaluated, and was not * used in the hyperparameter tuning process. This typically occurs when the * training job failed or did not emit an objective metric.

*/ inline void SetObjectiveStatus(const ObjectiveStatus& value) { m_objectiveStatusHasBeenSet = true; m_objectiveStatus = value; } /** *

The status of the objective metric for the training job:

  • *

    Succeeded: The final objective metric for the training job was evaluated by * the hyperparameter tuning job and used in the hyperparameter tuning process.

    *
  • Pending: The training job is in progress and evaluation * of its final objective metric is pending.

  • Failed: * The final objective metric for the training job was not evaluated, and was not * used in the hyperparameter tuning process. This typically occurs when the * training job failed or did not emit an objective metric.

*/ inline void SetObjectiveStatus(ObjectiveStatus&& value) { m_objectiveStatusHasBeenSet = true; m_objectiveStatus = std::move(value); } /** *

The status of the objective metric for the training job:

  • *

    Succeeded: The final objective metric for the training job was evaluated by * the hyperparameter tuning job and used in the hyperparameter tuning process.

    *
  • Pending: The training job is in progress and evaluation * of its final objective metric is pending.

  • Failed: * The final objective metric for the training job was not evaluated, and was not * used in the hyperparameter tuning process. This typically occurs when the * training job failed or did not emit an objective metric.

*/ inline HyperParameterTrainingJobSummary& WithObjectiveStatus(const ObjectiveStatus& value) { SetObjectiveStatus(value); return *this;} /** *

The status of the objective metric for the training job:

  • *

    Succeeded: The final objective metric for the training job was evaluated by * the hyperparameter tuning job and used in the hyperparameter tuning process.

    *
  • Pending: The training job is in progress and evaluation * of its final objective metric is pending.

  • Failed: * The final objective metric for the training job was not evaluated, and was not * used in the hyperparameter tuning process. This typically occurs when the * training job failed or did not emit an objective metric.

*/ inline HyperParameterTrainingJobSummary& WithObjectiveStatus(ObjectiveStatus&& value) { SetObjectiveStatus(std::move(value)); return *this;} private: Aws::String m_trainingJobDefinitionName; bool m_trainingJobDefinitionNameHasBeenSet = false; Aws::String m_trainingJobName; bool m_trainingJobNameHasBeenSet = false; Aws::String m_trainingJobArn; bool m_trainingJobArnHasBeenSet = false; Aws::String m_tuningJobName; bool m_tuningJobNameHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_trainingStartTime; bool m_trainingStartTimeHasBeenSet = false; Aws::Utils::DateTime m_trainingEndTime; bool m_trainingEndTimeHasBeenSet = false; TrainingJobStatus m_trainingJobStatus; bool m_trainingJobStatusHasBeenSet = false; Aws::Map m_tunedHyperParameters; bool m_tunedHyperParametersHasBeenSet = false; Aws::String m_failureReason; bool m_failureReasonHasBeenSet = false; FinalHyperParameterTuningJobObjectiveMetric m_finalHyperParameterTuningJobObjectiveMetric; bool m_finalHyperParameterTuningJobObjectiveMetricHasBeenSet = false; ObjectiveStatus m_objectiveStatus; bool m_objectiveStatusHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws