HyperDriveConfig 类

定义 HyperDrive 运行的配置。

HyperDrive 配置包括有关超参数空间采样、终止策略、主要指标、从配置恢复、估算器以及执行试验运行的计算目标的信息。

初始化 HyperDriveConfig。

构造函数

HyperDriveConfig(hyperparameter_sampling, primary_metric_name, primary_metric_goal, max_total_runs, max_concurrent_runs=None, max_duration_minutes=10080, policy=None, estimator=None, run_config=None, resume_from=None, resume_child_runs=None, pipeline=None, debug_flag=None, custom_run_id=None)

参数

名称 说明
estimator

将使用采样超参数调用的估算器。 仅指定以下参数之一: estimatorrun_configpipeline

默认值: None
hyperparameter_sampling
必需

超参数采样空间。

policy

要使用的提前终止策略。 如果 None - 默认值,则不会使用提前终止策略。

MedianStoppingPolicy delay_evaluation 5 的终止策略是一个很好的终止策略。 这些是保守的设置,可以提供 25%-35% 节省,且主要指标不会丢失(基于我们的评估数据)。

默认值: None
primary_metric_name
必需
str

试验运行报告的主要指标的名称。

primary_metric_goal
必需

PrimaryMetricGoal.MINIMIZE 或 PrimaryMetricGoal.MAXIMIZE。 此参数确定在评估运行时,主要指标是最小化还是最大化。

max_total_runs
必需
int

要创建的运行总数上限。 这是上限;当样本空间小于此值时,运行次数可能更少。 如果同时指定了 max_total_runsmax_duration_minutes,在达到其中的第一个阈值时,会终止超参数优化试验。

max_concurrent_runs
int

要并发执行的最大运行数。 如果为 None,则所有运行都并行启动。 并发运行数根据指定计算目标中的可用资源进行限制。 因此,需要确保计算目标具有所需并发的可用资源。

默认值: None
max_duration_minutes
int

HyperDrive 运行的最大持续时间。 超过此时间后,仍在执行的任何运行将被取消。 如果同时指定了 max_total_runsmax_duration_minutes,在达到其中的第一个阈值时,会终止超参数优化试验。

默认值: 10080
resume_from

Hyperdrive 运行或作为数据点继承的 Hyperdrive 运行列表,以预启动新运行。

默认值: None
resume_child_runs
Runlist[Run]

Hyperdrive 子运行或将作为新 Hyperdrive 运行的新子运行恢复的 hyperdrive 子运行的列表。

默认值: None
run_config

用于设置脚本/笔记本运行的配置的对象。 仅指定以下参数之一: estimatorrun_configpipeline

默认值: None
pipeline

用于设置管道运行配置的管道对象。 将使用示例超参数调用管道对象来提交管道运行。 仅指定以下参数之一: estimatorrun_configpipeline

默认值: None
custom_run_id
str

用户提供的自定义运行 ID

默认值: None
hyperparameter_sampling
必需

超参数空间采样定义。

primary_metric_name
必需
str

试验运行报告的主要指标的名称。

primary_metric_goal
必需

PrimaryMetricGoal.MINIMIZE 或 PrimaryMetricGoal.MAXIMIZE。 此参数确定在评估运行时,主要指标是最小化还是最大化。

max_total_runs
必需
int

要创建的运行总数上限。 这是上限;当样本空间小于此值时,运行次数可能更少。

max_concurrent_runs
必需
int

要并发执行的最大运行数。 如果为 None,则所有运行都并行启动。

max_duration_minutes
必需
int

HyperDrive 运行的最大持续时间。 超过此时间后,仍在执行的任何运行将被取消。

policy
必需

要使用的提前终止策略。 如果 None - 默认值,则不会使用提前终止策略。

<xref:azureml.train.hyperdrive.MedianTerminationPolicy> delay_evaluation 5 的终止策略是一个很好的终止策略。 这些是保守的设置,可以提供 25%-35% 节省,且主要指标不会丢失(基于我们的评估数据)。

estimator
必需

将使用采样的超参数调用的估算器。 仅指定以下参数之一: estimatorrun_configpipeline

run_config
必需

用于设置脚本/笔记本运行的配置的对象。 仅指定以下参数之一: estimatorrun_configpipeline

resume_from
必需

Hyperdrive 运行或作为数据点继承的 Hyperdrive 运行列表,以预启动新运行。

resume_child_runs
必需
Run | list[Run]

Hyperdrive 子运行或将作为新 Hyperdrive 运行的新子运行恢复的 hyperdrive 子运行的列表。

pipeline
必需

用于设置管道运行配置的管道对象。 将使用示例超参数调用管道对象来提交管道运行。 仅指定以下参数之一: estimatorrun_configpipeline

custom_run_id
必需
str

用户提供的自定义运行 ID

debug_flag
默认值: None

注解

下面的示例演示如何创建用于超参数调整的 HyperDriveConfig 对象。 在此示例中,主要指标名称与训练脚本中记录的值匹配。


   hd_config = HyperDriveConfig(run_config=src,
                    hyperparameter_sampling=ps,
                    policy=early_termination_policy,
                    primary_metric_name='validation_acc',
                    primary_metric_goal=PrimaryMetricGoal.MAXIMIZE,
                    max_total_runs=4,
                    max_concurrent_runs=4)

有关使用 HyperDriveConfig 的详细信息,请参阅教程 优化模型的超参数

属性

estimator

返回 HyperDrive 运行中使用的估算器。

如果运行使用脚本运行配置或管道,则值为 None。

返回

类型 说明

估算器。

pipeline

返回 HyperDrive 运行中使用的管道。

如果运行使用脚本运行配置或估算器,则值为 None。

返回

类型 说明

管道。

run_config

返回 HyperDrive 运行中使用的脚本/笔记本配置。

如果运行使用估算器或管道,则值为 None。

返回

类型 说明

运行配置。

source_directory

从配置返回要运行的源目录。

返回

类型 说明
str

源目录