/** * 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 ForecastService { namespace Model { /** *

Specifies an integer hyperparameter and it's range of tunable values. This * object is part of the ParameterRanges object.

See Also:

* AWS * API Reference

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

The name of the hyperparameter to tune.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the hyperparameter to tune.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the hyperparameter to tune.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the hyperparameter to tune.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the hyperparameter to tune.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the hyperparameter to tune.

*/ inline IntegerParameterRange& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the hyperparameter to tune.

*/ inline IntegerParameterRange& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the hyperparameter to tune.

*/ inline IntegerParameterRange& WithName(const char* value) { SetName(value); return *this;} /** *

The maximum tunable value of the hyperparameter.

*/ inline int GetMaxValue() const{ return m_maxValue; } /** *

The maximum tunable value of the hyperparameter.

*/ inline bool MaxValueHasBeenSet() const { return m_maxValueHasBeenSet; } /** *

The maximum tunable value of the hyperparameter.

*/ inline void SetMaxValue(int value) { m_maxValueHasBeenSet = true; m_maxValue = value; } /** *

The maximum tunable value of the hyperparameter.

*/ inline IntegerParameterRange& WithMaxValue(int value) { SetMaxValue(value); return *this;} /** *

The minimum tunable value of the hyperparameter.

*/ inline int GetMinValue() const{ return m_minValue; } /** *

The minimum tunable value of the hyperparameter.

*/ inline bool MinValueHasBeenSet() const { return m_minValueHasBeenSet; } /** *

The minimum tunable value of the hyperparameter.

*/ inline void SetMinValue(int value) { m_minValueHasBeenSet = true; m_minValue = value; } /** *

The minimum tunable value of the hyperparameter.

*/ inline IntegerParameterRange& WithMinValue(int value) { SetMinValue(value); return *this;} /** *

The scale that hyperparameter tuning uses to search the hyperparameter range. * Valid values:

Auto

Amazon Forecast hyperparameter * tuning chooses the best scale for the hyperparameter.

Linear
*

Hyperparameter tuning searches the values in the hyperparameter range by * using a linear scale.

Logarithmic

Hyperparameter * tuning searches the values in the hyperparameter range by using a logarithmic * scale.

Logarithmic scaling works only for ranges that have values greater * than 0.

ReverseLogarithmic

Not supported for * IntegerParameterRange.

Reverse logarithmic scaling works * only for ranges that are entirely within the range 0 <= x < 1.0.

*

For information about choosing a hyperparameter scale, see Hyperparameter * Scaling. One of the following values:

*/ inline const ScalingType& GetScalingType() const{ return m_scalingType; } /** *

The scale that hyperparameter tuning uses to search the hyperparameter range. * Valid values:

Auto

Amazon Forecast hyperparameter * tuning chooses the best scale for the hyperparameter.

Linear
*

Hyperparameter tuning searches the values in the hyperparameter range by * using a linear scale.

Logarithmic

Hyperparameter * tuning searches the values in the hyperparameter range by using a logarithmic * scale.

Logarithmic scaling works only for ranges that have values greater * than 0.

ReverseLogarithmic

Not supported for * IntegerParameterRange.

Reverse logarithmic scaling works * only for ranges that are entirely within the range 0 <= x < 1.0.

*

For information about choosing a hyperparameter scale, see Hyperparameter * Scaling. One of the following values:

*/ inline bool ScalingTypeHasBeenSet() const { return m_scalingTypeHasBeenSet; } /** *

The scale that hyperparameter tuning uses to search the hyperparameter range. * Valid values:

Auto

Amazon Forecast hyperparameter * tuning chooses the best scale for the hyperparameter.

Linear
*

Hyperparameter tuning searches the values in the hyperparameter range by * using a linear scale.

Logarithmic

Hyperparameter * tuning searches the values in the hyperparameter range by using a logarithmic * scale.

Logarithmic scaling works only for ranges that have values greater * than 0.

ReverseLogarithmic

Not supported for * IntegerParameterRange.

Reverse logarithmic scaling works * only for ranges that are entirely within the range 0 <= x < 1.0.

*

For information about choosing a hyperparameter scale, see Hyperparameter * Scaling. One of the following values:

*/ inline void SetScalingType(const ScalingType& value) { m_scalingTypeHasBeenSet = true; m_scalingType = value; } /** *

The scale that hyperparameter tuning uses to search the hyperparameter range. * Valid values:

Auto

Amazon Forecast hyperparameter * tuning chooses the best scale for the hyperparameter.

Linear
*

Hyperparameter tuning searches the values in the hyperparameter range by * using a linear scale.

Logarithmic

Hyperparameter * tuning searches the values in the hyperparameter range by using a logarithmic * scale.

Logarithmic scaling works only for ranges that have values greater * than 0.

ReverseLogarithmic

Not supported for * IntegerParameterRange.

Reverse logarithmic scaling works * only for ranges that are entirely within the range 0 <= x < 1.0.

*

For information about choosing a hyperparameter scale, see Hyperparameter * Scaling. One of the following values:

*/ inline void SetScalingType(ScalingType&& value) { m_scalingTypeHasBeenSet = true; m_scalingType = std::move(value); } /** *

The scale that hyperparameter tuning uses to search the hyperparameter range. * Valid values:

Auto

Amazon Forecast hyperparameter * tuning chooses the best scale for the hyperparameter.

Linear
*

Hyperparameter tuning searches the values in the hyperparameter range by * using a linear scale.

Logarithmic

Hyperparameter * tuning searches the values in the hyperparameter range by using a logarithmic * scale.

Logarithmic scaling works only for ranges that have values greater * than 0.

ReverseLogarithmic

Not supported for * IntegerParameterRange.

Reverse logarithmic scaling works * only for ranges that are entirely within the range 0 <= x < 1.0.

*

For information about choosing a hyperparameter scale, see Hyperparameter * Scaling. One of the following values:

*/ inline IntegerParameterRange& WithScalingType(const ScalingType& value) { SetScalingType(value); return *this;} /** *

The scale that hyperparameter tuning uses to search the hyperparameter range. * Valid values:

Auto

Amazon Forecast hyperparameter * tuning chooses the best scale for the hyperparameter.

Linear
*

Hyperparameter tuning searches the values in the hyperparameter range by * using a linear scale.

Logarithmic

Hyperparameter * tuning searches the values in the hyperparameter range by using a logarithmic * scale.

Logarithmic scaling works only for ranges that have values greater * than 0.

ReverseLogarithmic

Not supported for * IntegerParameterRange.

Reverse logarithmic scaling works * only for ranges that are entirely within the range 0 <= x < 1.0.

*

For information about choosing a hyperparameter scale, see Hyperparameter * Scaling. One of the following values:

*/ inline IntegerParameterRange& WithScalingType(ScalingType&& value) { SetScalingType(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; int m_maxValue; bool m_maxValueHasBeenSet = false; int m_minValue; bool m_minValueHasBeenSet = false; ScalingType m_scalingType; bool m_scalingTypeHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws