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

The job completion criteria.

See Also:

AWS * API Reference

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

The value of the objective metric.

*/ inline double GetTargetObjectiveMetricValue() const{ return m_targetObjectiveMetricValue; } /** *

The value of the objective metric.

*/ inline bool TargetObjectiveMetricValueHasBeenSet() const { return m_targetObjectiveMetricValueHasBeenSet; } /** *

The value of the objective metric.

*/ inline void SetTargetObjectiveMetricValue(double value) { m_targetObjectiveMetricValueHasBeenSet = true; m_targetObjectiveMetricValue = value; } /** *

The value of the objective metric.

*/ inline TuningJobCompletionCriteria& WithTargetObjectiveMetricValue(double value) { SetTargetObjectiveMetricValue(value); return *this;} /** *

A flag to stop your hyperparameter tuning job if model performance fails to * improve as evaluated against an objective function.

*/ inline const BestObjectiveNotImproving& GetBestObjectiveNotImproving() const{ return m_bestObjectiveNotImproving; } /** *

A flag to stop your hyperparameter tuning job if model performance fails to * improve as evaluated against an objective function.

*/ inline bool BestObjectiveNotImprovingHasBeenSet() const { return m_bestObjectiveNotImprovingHasBeenSet; } /** *

A flag to stop your hyperparameter tuning job if model performance fails to * improve as evaluated against an objective function.

*/ inline void SetBestObjectiveNotImproving(const BestObjectiveNotImproving& value) { m_bestObjectiveNotImprovingHasBeenSet = true; m_bestObjectiveNotImproving = value; } /** *

A flag to stop your hyperparameter tuning job if model performance fails to * improve as evaluated against an objective function.

*/ inline void SetBestObjectiveNotImproving(BestObjectiveNotImproving&& value) { m_bestObjectiveNotImprovingHasBeenSet = true; m_bestObjectiveNotImproving = std::move(value); } /** *

A flag to stop your hyperparameter tuning job if model performance fails to * improve as evaluated against an objective function.

*/ inline TuningJobCompletionCriteria& WithBestObjectiveNotImproving(const BestObjectiveNotImproving& value) { SetBestObjectiveNotImproving(value); return *this;} /** *

A flag to stop your hyperparameter tuning job if model performance fails to * improve as evaluated against an objective function.

*/ inline TuningJobCompletionCriteria& WithBestObjectiveNotImproving(BestObjectiveNotImproving&& value) { SetBestObjectiveNotImproving(std::move(value)); return *this;} /** *

A flag to top your hyperparameter tuning job if automatic model tuning (AMT) * has detected that your model has converged as evaluated against your objective * function.

*/ inline const ConvergenceDetected& GetConvergenceDetected() const{ return m_convergenceDetected; } /** *

A flag to top your hyperparameter tuning job if automatic model tuning (AMT) * has detected that your model has converged as evaluated against your objective * function.

*/ inline bool ConvergenceDetectedHasBeenSet() const { return m_convergenceDetectedHasBeenSet; } /** *

A flag to top your hyperparameter tuning job if automatic model tuning (AMT) * has detected that your model has converged as evaluated against your objective * function.

*/ inline void SetConvergenceDetected(const ConvergenceDetected& value) { m_convergenceDetectedHasBeenSet = true; m_convergenceDetected = value; } /** *

A flag to top your hyperparameter tuning job if automatic model tuning (AMT) * has detected that your model has converged as evaluated against your objective * function.

*/ inline void SetConvergenceDetected(ConvergenceDetected&& value) { m_convergenceDetectedHasBeenSet = true; m_convergenceDetected = std::move(value); } /** *

A flag to top your hyperparameter tuning job if automatic model tuning (AMT) * has detected that your model has converged as evaluated against your objective * function.

*/ inline TuningJobCompletionCriteria& WithConvergenceDetected(const ConvergenceDetected& value) { SetConvergenceDetected(value); return *this;} /** *

A flag to top your hyperparameter tuning job if automatic model tuning (AMT) * has detected that your model has converged as evaluated against your objective * function.

*/ inline TuningJobCompletionCriteria& WithConvergenceDetected(ConvergenceDetected&& value) { SetConvergenceDetected(std::move(value)); return *this;} private: double m_targetObjectiveMetricValue; bool m_targetObjectiveMetricValueHasBeenSet = false; BestObjectiveNotImproving m_bestObjectiveNotImproving; bool m_bestObjectiveNotImprovingHasBeenSet = false; ConvergenceDetected m_convergenceDetected; bool m_convergenceDetectedHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws