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

The configuration for a training job launched by a hyperparameter tuning job. * Choose Bayesian for Bayesian optimization, and Random * for random search optimization. For more advanced use cases, use * Hyperband, which evaluates objective metrics for training jobs * after every epoch. For more information about strategies, see How * Hyperparameter Tuning Works.

See Also:

AWS * API Reference

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

The configuration for the object that specifies the Hyperband * strategy. This parameter is only supported for the Hyperband * selection for Strategy within the * HyperParameterTuningJobConfig API.

*/ inline const HyperbandStrategyConfig& GetHyperbandStrategyConfig() const{ return m_hyperbandStrategyConfig; } /** *

The configuration for the object that specifies the Hyperband * strategy. This parameter is only supported for the Hyperband * selection for Strategy within the * HyperParameterTuningJobConfig API.

*/ inline bool HyperbandStrategyConfigHasBeenSet() const { return m_hyperbandStrategyConfigHasBeenSet; } /** *

The configuration for the object that specifies the Hyperband * strategy. This parameter is only supported for the Hyperband * selection for Strategy within the * HyperParameterTuningJobConfig API.

*/ inline void SetHyperbandStrategyConfig(const HyperbandStrategyConfig& value) { m_hyperbandStrategyConfigHasBeenSet = true; m_hyperbandStrategyConfig = value; } /** *

The configuration for the object that specifies the Hyperband * strategy. This parameter is only supported for the Hyperband * selection for Strategy within the * HyperParameterTuningJobConfig API.

*/ inline void SetHyperbandStrategyConfig(HyperbandStrategyConfig&& value) { m_hyperbandStrategyConfigHasBeenSet = true; m_hyperbandStrategyConfig = std::move(value); } /** *

The configuration for the object that specifies the Hyperband * strategy. This parameter is only supported for the Hyperband * selection for Strategy within the * HyperParameterTuningJobConfig API.

*/ inline HyperParameterTuningJobStrategyConfig& WithHyperbandStrategyConfig(const HyperbandStrategyConfig& value) { SetHyperbandStrategyConfig(value); return *this;} /** *

The configuration for the object that specifies the Hyperband * strategy. This parameter is only supported for the Hyperband * selection for Strategy within the * HyperParameterTuningJobConfig API.

*/ inline HyperParameterTuningJobStrategyConfig& WithHyperbandStrategyConfig(HyperbandStrategyConfig&& value) { SetHyperbandStrategyConfig(std::move(value)); return *this;} private: HyperbandStrategyConfig m_hyperbandStrategyConfig; bool m_hyperbandStrategyConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws