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

Specifies which training algorithm to use for training jobs that a * hyperparameter tuning job launches and the metrics to monitor.

See * Also:

AWS * API Reference

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

The registry path of the Docker image that contains the training algorithm. * For information about Docker registry paths for built-in algorithms, see Algorithms * Provided by Amazon SageMaker: Common Parameters. SageMaker supports both * registry/repository[:tag] and * registry/repository[@digest] image path formats. For more * information, see Using * Your Own Algorithms with Amazon SageMaker.

*/ inline const Aws::String& GetTrainingImage() const{ return m_trainingImage; } /** *

The registry path of the Docker image that contains the training algorithm. * For information about Docker registry paths for built-in algorithms, see Algorithms * Provided by Amazon SageMaker: Common Parameters. SageMaker supports both * registry/repository[:tag] and * registry/repository[@digest] image path formats. For more * information, see Using * Your Own Algorithms with Amazon SageMaker.

*/ inline bool TrainingImageHasBeenSet() const { return m_trainingImageHasBeenSet; } /** *

The registry path of the Docker image that contains the training algorithm. * For information about Docker registry paths for built-in algorithms, see Algorithms * Provided by Amazon SageMaker: Common Parameters. SageMaker supports both * registry/repository[:tag] and * registry/repository[@digest] image path formats. For more * information, see Using * Your Own Algorithms with Amazon SageMaker.

*/ inline void SetTrainingImage(const Aws::String& value) { m_trainingImageHasBeenSet = true; m_trainingImage = value; } /** *

The registry path of the Docker image that contains the training algorithm. * For information about Docker registry paths for built-in algorithms, see Algorithms * Provided by Amazon SageMaker: Common Parameters. SageMaker supports both * registry/repository[:tag] and * registry/repository[@digest] image path formats. For more * information, see Using * Your Own Algorithms with Amazon SageMaker.

*/ inline void SetTrainingImage(Aws::String&& value) { m_trainingImageHasBeenSet = true; m_trainingImage = std::move(value); } /** *

The registry path of the Docker image that contains the training algorithm. * For information about Docker registry paths for built-in algorithms, see Algorithms * Provided by Amazon SageMaker: Common Parameters. SageMaker supports both * registry/repository[:tag] and * registry/repository[@digest] image path formats. For more * information, see Using * Your Own Algorithms with Amazon SageMaker.

*/ inline void SetTrainingImage(const char* value) { m_trainingImageHasBeenSet = true; m_trainingImage.assign(value); } /** *

The registry path of the Docker image that contains the training algorithm. * For information about Docker registry paths for built-in algorithms, see Algorithms * Provided by Amazon SageMaker: Common Parameters. SageMaker supports both * registry/repository[:tag] and * registry/repository[@digest] image path formats. For more * information, see Using * Your Own Algorithms with Amazon SageMaker.

*/ inline HyperParameterAlgorithmSpecification& WithTrainingImage(const Aws::String& value) { SetTrainingImage(value); return *this;} /** *

The registry path of the Docker image that contains the training algorithm. * For information about Docker registry paths for built-in algorithms, see Algorithms * Provided by Amazon SageMaker: Common Parameters. SageMaker supports both * registry/repository[:tag] and * registry/repository[@digest] image path formats. For more * information, see Using * Your Own Algorithms with Amazon SageMaker.

*/ inline HyperParameterAlgorithmSpecification& WithTrainingImage(Aws::String&& value) { SetTrainingImage(std::move(value)); return *this;} /** *

The registry path of the Docker image that contains the training algorithm. * For information about Docker registry paths for built-in algorithms, see Algorithms * Provided by Amazon SageMaker: Common Parameters. SageMaker supports both * registry/repository[:tag] and * registry/repository[@digest] image path formats. For more * information, see Using * Your Own Algorithms with Amazon SageMaker.

*/ inline HyperParameterAlgorithmSpecification& WithTrainingImage(const char* value) { SetTrainingImage(value); return *this;} inline const TrainingInputMode& GetTrainingInputMode() const{ return m_trainingInputMode; } inline bool TrainingInputModeHasBeenSet() const { return m_trainingInputModeHasBeenSet; } inline void SetTrainingInputMode(const TrainingInputMode& value) { m_trainingInputModeHasBeenSet = true; m_trainingInputMode = value; } inline void SetTrainingInputMode(TrainingInputMode&& value) { m_trainingInputModeHasBeenSet = true; m_trainingInputMode = std::move(value); } inline HyperParameterAlgorithmSpecification& WithTrainingInputMode(const TrainingInputMode& value) { SetTrainingInputMode(value); return *this;} inline HyperParameterAlgorithmSpecification& WithTrainingInputMode(TrainingInputMode&& value) { SetTrainingInputMode(std::move(value)); return *this;} /** *

The name of the resource algorithm to use for the hyperparameter tuning job. * If you specify a value for this parameter, do not specify a value for * TrainingImage.

*/ inline const Aws::String& GetAlgorithmName() const{ return m_algorithmName; } /** *

The name of the resource algorithm to use for the hyperparameter tuning job. * If you specify a value for this parameter, do not specify a value for * TrainingImage.

*/ inline bool AlgorithmNameHasBeenSet() const { return m_algorithmNameHasBeenSet; } /** *

The name of the resource algorithm to use for the hyperparameter tuning job. * If you specify a value for this parameter, do not specify a value for * TrainingImage.

*/ inline void SetAlgorithmName(const Aws::String& value) { m_algorithmNameHasBeenSet = true; m_algorithmName = value; } /** *

The name of the resource algorithm to use for the hyperparameter tuning job. * If you specify a value for this parameter, do not specify a value for * TrainingImage.

*/ inline void SetAlgorithmName(Aws::String&& value) { m_algorithmNameHasBeenSet = true; m_algorithmName = std::move(value); } /** *

The name of the resource algorithm to use for the hyperparameter tuning job. * If you specify a value for this parameter, do not specify a value for * TrainingImage.

*/ inline void SetAlgorithmName(const char* value) { m_algorithmNameHasBeenSet = true; m_algorithmName.assign(value); } /** *

The name of the resource algorithm to use for the hyperparameter tuning job. * If you specify a value for this parameter, do not specify a value for * TrainingImage.

*/ inline HyperParameterAlgorithmSpecification& WithAlgorithmName(const Aws::String& value) { SetAlgorithmName(value); return *this;} /** *

The name of the resource algorithm to use for the hyperparameter tuning job. * If you specify a value for this parameter, do not specify a value for * TrainingImage.

*/ inline HyperParameterAlgorithmSpecification& WithAlgorithmName(Aws::String&& value) { SetAlgorithmName(std::move(value)); return *this;} /** *

The name of the resource algorithm to use for the hyperparameter tuning job. * If you specify a value for this parameter, do not specify a value for * TrainingImage.

*/ inline HyperParameterAlgorithmSpecification& WithAlgorithmName(const char* value) { SetAlgorithmName(value); return *this;} /** *

An array of MetricDefinition * objects that specify the metrics that the algorithm emits.

*/ inline const Aws::Vector& GetMetricDefinitions() const{ return m_metricDefinitions; } /** *

An array of MetricDefinition * objects that specify the metrics that the algorithm emits.

*/ inline bool MetricDefinitionsHasBeenSet() const { return m_metricDefinitionsHasBeenSet; } /** *

An array of MetricDefinition * objects that specify the metrics that the algorithm emits.

*/ inline void SetMetricDefinitions(const Aws::Vector& value) { m_metricDefinitionsHasBeenSet = true; m_metricDefinitions = value; } /** *

An array of MetricDefinition * objects that specify the metrics that the algorithm emits.

*/ inline void SetMetricDefinitions(Aws::Vector&& value) { m_metricDefinitionsHasBeenSet = true; m_metricDefinitions = std::move(value); } /** *

An array of MetricDefinition * objects that specify the metrics that the algorithm emits.

*/ inline HyperParameterAlgorithmSpecification& WithMetricDefinitions(const Aws::Vector& value) { SetMetricDefinitions(value); return *this;} /** *

An array of MetricDefinition * objects that specify the metrics that the algorithm emits.

*/ inline HyperParameterAlgorithmSpecification& WithMetricDefinitions(Aws::Vector&& value) { SetMetricDefinitions(std::move(value)); return *this;} /** *

An array of MetricDefinition * objects that specify the metrics that the algorithm emits.

*/ inline HyperParameterAlgorithmSpecification& AddMetricDefinitions(const MetricDefinition& value) { m_metricDefinitionsHasBeenSet = true; m_metricDefinitions.push_back(value); return *this; } /** *

An array of MetricDefinition * objects that specify the metrics that the algorithm emits.

*/ inline HyperParameterAlgorithmSpecification& AddMetricDefinitions(MetricDefinition&& value) { m_metricDefinitionsHasBeenSet = true; m_metricDefinitions.push_back(std::move(value)); return *this; } private: Aws::String m_trainingImage; bool m_trainingImageHasBeenSet = false; TrainingInputMode m_trainingInputMode; bool m_trainingInputModeHasBeenSet = false; Aws::String m_algorithmName; bool m_algorithmNameHasBeenSet = false; Aws::Vector m_metricDefinitions; bool m_metricDefinitionsHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws