/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies the configuration for a hyperparameter tuning job that uses one or
* more previous hyperparameter tuning jobs as a starting point. The results of
* previous tuning jobs are used to inform which combinations of hyperparameters to
* search over in the new tuning job. All training jobs launched by the new
* hyperparameter tuning job are evaluated by using the objective metric, and the
* training job that performs the best is compared to the best training jobs from
* the parent tuning jobs. From these, the training job that performs the best as
* measured by the objective metric is returned as the overall best training
* job. All training jobs launched by parent hyperparameter tuning
* jobs and the new hyperparameter tuning jobs count against the limit of training
* jobs for the tuning job.See Also:
AWS
* API Reference
An array of hyperparameter tuning jobs that are used as the starting point * for the new hyperparameter tuning job. For more information about warm starting * a hyperparameter tuning job, see Using * a Previous Hyperparameter Tuning Job as a Starting Point.
*Hyperparameter tuning jobs created before October 1, 2018 cannot be used as * parent jobs for warm start tuning jobs.
*/ inline const Aws::VectorAn array of hyperparameter tuning jobs that are used as the starting point * for the new hyperparameter tuning job. For more information about warm starting * a hyperparameter tuning job, see Using * a Previous Hyperparameter Tuning Job as a Starting Point.
*Hyperparameter tuning jobs created before October 1, 2018 cannot be used as * parent jobs for warm start tuning jobs.
*/ inline bool ParentHyperParameterTuningJobsHasBeenSet() const { return m_parentHyperParameterTuningJobsHasBeenSet; } /** *An array of hyperparameter tuning jobs that are used as the starting point * for the new hyperparameter tuning job. For more information about warm starting * a hyperparameter tuning job, see Using * a Previous Hyperparameter Tuning Job as a Starting Point.
*Hyperparameter tuning jobs created before October 1, 2018 cannot be used as * parent jobs for warm start tuning jobs.
*/ inline void SetParentHyperParameterTuningJobs(const Aws::VectorAn array of hyperparameter tuning jobs that are used as the starting point * for the new hyperparameter tuning job. For more information about warm starting * a hyperparameter tuning job, see Using * a Previous Hyperparameter Tuning Job as a Starting Point.
*Hyperparameter tuning jobs created before October 1, 2018 cannot be used as * parent jobs for warm start tuning jobs.
*/ inline void SetParentHyperParameterTuningJobs(Aws::VectorAn array of hyperparameter tuning jobs that are used as the starting point * for the new hyperparameter tuning job. For more information about warm starting * a hyperparameter tuning job, see Using * a Previous Hyperparameter Tuning Job as a Starting Point.
*Hyperparameter tuning jobs created before October 1, 2018 cannot be used as * parent jobs for warm start tuning jobs.
*/ inline HyperParameterTuningJobWarmStartConfig& WithParentHyperParameterTuningJobs(const Aws::VectorAn array of hyperparameter tuning jobs that are used as the starting point * for the new hyperparameter tuning job. For more information about warm starting * a hyperparameter tuning job, see Using * a Previous Hyperparameter Tuning Job as a Starting Point.
*Hyperparameter tuning jobs created before October 1, 2018 cannot be used as * parent jobs for warm start tuning jobs.
*/ inline HyperParameterTuningJobWarmStartConfig& WithParentHyperParameterTuningJobs(Aws::VectorAn array of hyperparameter tuning jobs that are used as the starting point * for the new hyperparameter tuning job. For more information about warm starting * a hyperparameter tuning job, see Using * a Previous Hyperparameter Tuning Job as a Starting Point.
*Hyperparameter tuning jobs created before October 1, 2018 cannot be used as * parent jobs for warm start tuning jobs.
*/ inline HyperParameterTuningJobWarmStartConfig& AddParentHyperParameterTuningJobs(const ParentHyperParameterTuningJob& value) { m_parentHyperParameterTuningJobsHasBeenSet = true; m_parentHyperParameterTuningJobs.push_back(value); return *this; } /** *An array of hyperparameter tuning jobs that are used as the starting point * for the new hyperparameter tuning job. For more information about warm starting * a hyperparameter tuning job, see Using * a Previous Hyperparameter Tuning Job as a Starting Point.
*Hyperparameter tuning jobs created before October 1, 2018 cannot be used as * parent jobs for warm start tuning jobs.
*/ inline HyperParameterTuningJobWarmStartConfig& AddParentHyperParameterTuningJobs(ParentHyperParameterTuningJob&& value) { m_parentHyperParameterTuningJobsHasBeenSet = true; m_parentHyperParameterTuningJobs.push_back(std::move(value)); return *this; } /** *Specifies one of the following:
The new hyperparameter tuning job * uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training * jobs that the hyperparameter tuning job launches. You cannot use a new version * of the training algorithm, unless the changes in the new version do not affect * the algorithm itself. For example, changes that improve logging or adding * support for a different data format are allowed. You can also change * hyperparameters from tunable to static, and from static to tunable, but the * total number of static plus tunable hyperparameters must remain the same as it * is in all parent jobs. The objective metric for the new tuning job must be the * same as for all parent jobs.
The * new hyperparameter tuning job can include input data, hyperparameter ranges, * maximum number of concurrent training jobs, and maximum number of training jobs * that are different than those of its parent hyperparameter tuning jobs. The * training image can also be a different version from the version used in the * parent hyperparameter tuning job. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static * plus tunable hyperparameters must remain the same as it is in all parent jobs. * The objective metric for the new tuning job must be the same as for all parent * jobs.
Specifies one of the following:
The new hyperparameter tuning job * uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training * jobs that the hyperparameter tuning job launches. You cannot use a new version * of the training algorithm, unless the changes in the new version do not affect * the algorithm itself. For example, changes that improve logging or adding * support for a different data format are allowed. You can also change * hyperparameters from tunable to static, and from static to tunable, but the * total number of static plus tunable hyperparameters must remain the same as it * is in all parent jobs. The objective metric for the new tuning job must be the * same as for all parent jobs.
The * new hyperparameter tuning job can include input data, hyperparameter ranges, * maximum number of concurrent training jobs, and maximum number of training jobs * that are different than those of its parent hyperparameter tuning jobs. The * training image can also be a different version from the version used in the * parent hyperparameter tuning job. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static * plus tunable hyperparameters must remain the same as it is in all parent jobs. * The objective metric for the new tuning job must be the same as for all parent * jobs.
Specifies one of the following:
The new hyperparameter tuning job * uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training * jobs that the hyperparameter tuning job launches. You cannot use a new version * of the training algorithm, unless the changes in the new version do not affect * the algorithm itself. For example, changes that improve logging or adding * support for a different data format are allowed. You can also change * hyperparameters from tunable to static, and from static to tunable, but the * total number of static plus tunable hyperparameters must remain the same as it * is in all parent jobs. The objective metric for the new tuning job must be the * same as for all parent jobs.
The * new hyperparameter tuning job can include input data, hyperparameter ranges, * maximum number of concurrent training jobs, and maximum number of training jobs * that are different than those of its parent hyperparameter tuning jobs. The * training image can also be a different version from the version used in the * parent hyperparameter tuning job. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static * plus tunable hyperparameters must remain the same as it is in all parent jobs. * The objective metric for the new tuning job must be the same as for all parent * jobs.
Specifies one of the following:
The new hyperparameter tuning job * uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training * jobs that the hyperparameter tuning job launches. You cannot use a new version * of the training algorithm, unless the changes in the new version do not affect * the algorithm itself. For example, changes that improve logging or adding * support for a different data format are allowed. You can also change * hyperparameters from tunable to static, and from static to tunable, but the * total number of static plus tunable hyperparameters must remain the same as it * is in all parent jobs. The objective metric for the new tuning job must be the * same as for all parent jobs.
The * new hyperparameter tuning job can include input data, hyperparameter ranges, * maximum number of concurrent training jobs, and maximum number of training jobs * that are different than those of its parent hyperparameter tuning jobs. The * training image can also be a different version from the version used in the * parent hyperparameter tuning job. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static * plus tunable hyperparameters must remain the same as it is in all parent jobs. * The objective metric for the new tuning job must be the same as for all parent * jobs.
Specifies one of the following:
The new hyperparameter tuning job * uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training * jobs that the hyperparameter tuning job launches. You cannot use a new version * of the training algorithm, unless the changes in the new version do not affect * the algorithm itself. For example, changes that improve logging or adding * support for a different data format are allowed. You can also change * hyperparameters from tunable to static, and from static to tunable, but the * total number of static plus tunable hyperparameters must remain the same as it * is in all parent jobs. The objective metric for the new tuning job must be the * same as for all parent jobs.
The * new hyperparameter tuning job can include input data, hyperparameter ranges, * maximum number of concurrent training jobs, and maximum number of training jobs * that are different than those of its parent hyperparameter tuning jobs. The * training image can also be a different version from the version used in the * parent hyperparameter tuning job. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static * plus tunable hyperparameters must remain the same as it is in all parent jobs. * The objective metric for the new tuning job must be the same as for all parent * jobs.
Specifies one of the following:
The new hyperparameter tuning job * uses the same input data and training image as the parent tuning jobs. You can * change the hyperparameter ranges to search and the maximum number of training * jobs that the hyperparameter tuning job launches. You cannot use a new version * of the training algorithm, unless the changes in the new version do not affect * the algorithm itself. For example, changes that improve logging or adding * support for a different data format are allowed. You can also change * hyperparameters from tunable to static, and from static to tunable, but the * total number of static plus tunable hyperparameters must remain the same as it * is in all parent jobs. The objective metric for the new tuning job must be the * same as for all parent jobs.
The * new hyperparameter tuning job can include input data, hyperparameter ranges, * maximum number of concurrent training jobs, and maximum number of training jobs * that are different than those of its parent hyperparameter tuning jobs. The * training image can also be a different version from the version used in the * parent hyperparameter tuning job. You can also change hyperparameters from * tunable to static, and from static to tunable, but the total number of static * plus tunable hyperparameters must remain the same as it is in all parent jobs. * The objective metric for the new tuning job must be the same as for all parent * jobs.