hyperdrive 包

包含支持超参数优化的模块和类。

超参数是你为指导训练过程的模型训练选择的可调整参数。 HyperDrive 包可帮助你自动选择这些参数。 例如,可以将参数搜索空间定义为离散或连续,还可以将搜索空间上的采样方法定义为随机、网格或贝贝esian。 此外,还可以指定要在超参数优化试验中优化的主要指标,以及是最小化还是最大化该指标。 还可以定义早期终止策略,其中性能不佳的试验运行已取消并启动新的试验运行。 若要为 HyperDrive 定义可重用的机器学习工作流,请使用hyper_drive_step创建 。Pipeline

模块

error_definition

HyperDrive SDK 的错误代码定义。

error_strings

在整个 HyperDrive SDK 中使用的错误字符串的集合。

exceptions

HyperDrive 引发的异常。

parameter_expressions

定义可在 HyperDrive 中使用的函数来描述超参数搜索空间。

这些函数用于指定不同类型的超参数分布。 为超参数扫描配置采样时,将定义分布。 例如,使用 RandomParameterSampling 类时,可以选择从一组离散值或连续值的分布中采样。 在这种情况下,可以使用 choice 函数生成一组离散值和 uniform 函数来生成连续值的分布。

有关使用这些函数的示例,请参阅教程: https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters

BanditPolicy

根据可宽延条件定义提前终止策略,以及评估的频率和延迟间隔。

使用松散因子、slack_amount和评估间隔初始化 BanditPolicy。

BayesianParameterSampling

定义超参数搜索空间上的贝伊斯采样。

Bayesian 采样尝试根据前面的样本的执行方式智能地选取下一个超参数样本,以便新样本改进报告的主要指标。

初始化 BayesianParameterSampling。

EarlyTerminationPolicy

所有早期终止策略的抽象基类。

初始化提前终止策略。

GridParameterSampling

定义超参数搜索空间的网格采样。

初始化 GridParameterSampling。

HyperDriveConfig

定义 HyperDrive 运行的配置。

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

初始化 HyperDriveConfig。

HyperDriveRun

HyperDriveRun 包含提交的 HyperDrive 试验的详细信息。

此类可用于管理、检查状态和检索 HyperDrive 运行和每个生成的子运行运行的运行详细信息。

初始化 HyperDrive 运行。

HyperDriveRunConfig

定义 HyperDrive 运行的配置。

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

初始化 HyperDriveConfig。

HyperParameterSampling

所有超参数采样算法的抽象基类。

此类封装了超参数空间、采样方法和派生采样类的其他属性: BayesianParameterSamplingGridParameterSamplingRandomParameterSampling

初始化 HyperParameterSampling。

MedianStoppingPolicy

根据所有运行的主要指标的运行平均值定义提前终止策略。

初始化 MedianStoppingPolicy。

NoTerminationPolicy

指定未应用提前终止策略。

每次运行都将执行,直到完成。

初始化 NoTerminationPolicy。

RandomParameterSampling

定义超参数搜索空间的随机采样。

初始化 RandomParameterSampling。

TruncationSelectionPolicy

定义一个提前终止策略,该策略在每个评估间隔内取消给定的运行百分比。

初始化 TruncationSelectionPolicy。

枚举

PrimaryMetricGoal

定义超参数优化支持的指标目标。

指标目标用于确定指标的值是更好还是更糟。 比较基于主要指标的运行时,将使用指标目标。 例如,你可能希望最大程度地提高准确性或最小化错误。

配置 HyperDrive 运行时, HyperDriveConfig 类中指定了主要指标名称和目标。

函数

choice

指定要从中采样的一组离散选项。

choice(*options)

参数

名称 说明
options
必需

要从中选择的选项列表。

返回

类型 说明

随机表达式。

lognormal

根据 exp(normal(mu, sigma)指定一个值。

返回值的对数是正态分布的。 优化时,此变量限制为正数。

lognormal(mu, sigma)

参数

名称 说明
mu
必需

正态分布的平均值。

sigma
必需

正态分布的标准偏差。

返回

类型 说明

随机表达式。

loguniform

指定日志统一分布。

根据 exp(uniform(min_value,max_value)绘制值,以便返回值的对数均匀分布。 优化时,此变量将限制为间隔 [exp(min_value), exp(max_value)]

loguniform(min_value, max_value)

参数

名称 说明
min_value
必需

范围中的最小值将为 exp(min_value)(含)。

max_value
必需

范围中的最大值将为 exp(max_value) (含)。

返回

类型 说明

随机表达式。

normal

指定使用平均 mu 和标准偏差 sigma 正常分布的实际值。

优化时,这是一个不受约束的变量。

normal(mu, sigma)

参数

名称 说明
mu
必需

正态分布的平均值。

sigma
必需

正态分布的标准偏差。

返回

类型 说明

随机表达式。

qlognormal

指定一个值,如 round(normal(mu, sigma)) / q) * q。

适用于一个离散变量,相对于目标是平滑的,并且随变量的大小一起获得更流畅的变量,该变量从一侧绑定。

qlognormal(mu, sigma, q)

参数

名称 说明
mu
必需

正态分布的平均值。

sigma
必需

正态分布的标准偏差。

q
必需
int

平滑因子。

返回

类型 说明

随机表达式。

qloguniform

指定窗体轮的统一分布(exp(uniform(uniform(min_value, max_value) / q) * q。

这适用于目标为“平滑”的离散变量,并且值的大小会更流畅,但应同时在上面和下方绑定该变量。

qloguniform(min_value, max_value, q)

参数

名称 说明
min_value
必需

范围内的最小值(含)。

max_value
必需

范围内的最大值(含)。

q
必需
int

平滑因子。

返回

类型 说明

随机表达式。

qnormal

指定一个值,如 round(normal(mu, sigma) / q) * q。

适用于可能围绕 mu 的值的离散变量,但基本上是无限的。

qnormal(mu, sigma, q)

参数

名称 说明
mu
必需

正态分布的平均值。

sigma
必需

正态分布的标准偏差。

q
必需
int

平滑因子。

返回

类型 说明

随机表达式。

quniform

指定窗体 round(uniform(min_value, max_value) / q) 的统一分布 * q。

这适用于目标仍然有点“平滑”的离散值,但应同时在上面和下方绑定这两个值。

quniform(min_value, max_value, q)

参数

名称 说明
min_value
必需

范围内的最小值(含)。

max_value
必需

范围内的最大值(含)。

q
必需
int

平滑因子。

返回

类型 说明

随机表达式。

randint

在 [0, upper) 范围内指定一组随机整数。

此分布的语义是,与更遥远的整数值相比,附近整数值之间的损失函数没有更多的相关性。 这是一个适当的分布,用于描述随机种子,例如。 如果损失函数可能与附近的整数值更相关,则应使用“量子化”连续分布之一,例如 quniform、qloguniform、qnormal 或 qlognormal。

randint(upper)

参数

名称 说明
upper
必需
int

整数范围的上限(不含)。

返回

类型 说明

随机表达式。

uniform

指定从中获取样本的统一分布。

uniform(min_value, max_value)

参数

名称 说明
min_value
必需

范围内的最小值(含)。

max_value
必需

范围内的最大值(含)。

返回

类型 说明

随机表达式。