运行结果 – 如何访问所有信息

class hpbandster.core.result.Result(HB_iteration_data, HB_config)[source]

HB_master.run 函数返回的对象

该类提供了简单的 API,用于访问 Hyperband 运行中的信息。

get_all_runs(only_largest_budget=False)[source]

返回所有已执行的运行结果

参数only_largest_budget (布尔值) – 如果为 True,则仅返回每个配置的最大预算对应的运行结果。如果运行跨预算继续并且 info 字段包含您关心的信息,则这很有意义。如果为 False,则返回配置的所有运行结果
get_fANOVA_data(config_space, budgets=None, loss_fn=<function Result.<lambda>>, failed_loss=None)[source]
get_id2config_mapping()[source]

返回一个字典,其中键是 config_ids,值是实际配置

get_incumbent_id()[source]

查找当前最佳配置的 config_id。

此处的当前最佳配置是指在最大预算下的所有运行中损失最小的配置!如果没有运行在最大预算下完成,则返回 None!

get_incumbent_trajectory(all_budgets=True, bigger_is_better=True, non_decreasing_budget=True)[source]

返回随时间变化的最佳配置

参数
  • all_budgets (布尔值) – 如果设置为 true,则所有运行(即使不是最大预算的运行)都可以是当前最佳配置。否则,仅考虑完整预算运行
  • bigger_is_better (布尔值) – 标志,指示在更大预算下的评估是否总是被视为更好。如果为 True,则当前最佳配置在较大预算的首次评估中可能会有所提升
  • non_decreasing_budget (布尔值) – 标志,指示新当前最佳配置的预算是否应至少与当前当前最佳配置的预算一样大。
返回

包含所有 config ID、运行完成时间、各自预算和相应损失的字典

返回类型

dict

get_learning_curves(lc_extractor=<function extract_HBS_learning_curves>, config_ids=None)[source]

从所有运行配置中提取所有学习曲线

参数
  • lc_extractor (可调用对象) – 返回学习曲线列表的函数。默认为 hpbanster.HB_result.extract_HP_learning_curves
  • config_ids (有效的 config ID 列表) – 如果只需要 config ID 的子集
返回

一个字典,其中 config_ids 作为键,学习曲线作为值

返回类型

dict

get_pandas_dataframe(budgets=None, loss_fn=<function Result.<lambda>>)[source]
get_runs_by_id(config_id)[source]

返回给定 config ID 的运行列表

运行结果按预算升序排序,因此 ‘-1’ 将返回该配置最长的运行结果。

num_iterations()[source]
class hpbandster.core.result.Run(config_id, budget, loss, info, time_stamps, error_logs)[source]

不是一个完整的类,更像一个用于捆绑特定运行重要信息的“结构体”

hpbandster.core.result.extract_HBS_learning_curves(runs)[source]

获取 hyperband 学习曲线的函数

这是一个示例函数,展示了如何使用 HB_result.get_learning_curves 方法的接口。

参数runs (HB_result.run 对象列表) – 针对未指定配置执行的运行
返回学习曲线列表 – 单个学习曲线是 (t, x_t) 元组的列表。此函数必须返回一个这样的列表。可以考虑从这些运行中提取多个学习曲线的情况,例如,如果每次运行都是神经网络在数据上的独立训练运行。
返回类型元组列表的列表
class hpbandster.core.result.json_result_logger(directory, overwrite=False)[source]

用于“半实时结果”的便利记录器

将作业结果写入两个文件(configs.json 和 results.json)的记录器。这两个文件每行都包含一个完整的 json 对象。

此版本会为每个结果打开和关闭文件。如果单个运行速度很快而文件系统较慢(例如 NFS),这可能会非常慢。

参数
  • directory (字符串) – 存储 ‘configs.json’ 和 ‘results.json’ 这两个文件的目录
  • overwrite (布尔值) –

    如果文件已存在,此标志控制行为

    • True:现有文件将被覆盖。可能存在删除先前结果的风险
    • False:将引发 FileExistsError 且文件不会被修改。
new_config(config_id, config, config_info)[source]
hpbandster.core.result.logged_results_to_HBS_result(directory)[source]

导入已记录的“实时结果”并返回 HB_result 对象的函数

您可以使用此函数加载实时运行结果,并且返回的 HB_result 对象使您可以像访问已完成运行结果一样访问它们。

参数directory (字符串) – 包含 results.json 和 config.json 文件的目录
返回hpbandster.core.result.Result – TODO
返回类型
对象