跳到内容

NPenas

基类: MetaOptimizer

实现了 Npenas 优化器。

Npenas 是一种神经预测器引导的神经架构搜索演进优化算法,它使用机器学习来指导神经架构搜索 (NAS) 的搜索过程。该算法采用预测模型、采集函数和零成本代理来加速搜索过程。

属性

名称 类型 描述
config 对象

包含设置参数的配置对象。

zc_api 对象

用于查询零成本代理的零成本 API 对象。

__init__(config, zc_api=None)

Npenas 优化器的构造函数。

参数

名称 类型 描述 默认值
config 对象

包含设置参数的配置对象。

必需
zc_api 对象

用于查询零成本代理的零成本 API 对象。

adapt_search_space(search_space, scope=None, dataset_api=None)

调整搜索空间以进行优化。

参数

名称 类型 描述 默认值
search_space 对象

包含所有可能架构的搜索空间对象。

必需
scope 字符串

定义优化器的搜索空间范围。

dataset_api 对象

用于查询数据集特定指标的 API。

引发

类型 描述
AssertionError

如果搜索空间不可查询。

get_arch_as_string(arch)

返回给定架构的字符串表示形式。

参数

名称 类型 描述 默认值
arch 对象

要转换为字符串的架构。

必需

返回

名称 类型 描述
字符串

架构的字符串表示形式。

get_checkpointables()

返回应检查点保存的模型。

返回

名称 类型 描述
字典

一个字典,键为“model”,值为模型的历史记录。

get_final_architecture()

返回历史记录中的最终/最佳架构。

返回

名称 类型 描述
对象

最终/最佳架构。

get_model_size()

返回模型大小。

返回

名称 类型 描述
浮点数

模型大小(以 MB 为单位)。

get_op_optimizer()

获取操作优化器的方法。在此类中未实现。

引发

类型 描述
NotImplementedError

始终,因为此方法未实现。

get_zero_cost_predictors()

根据 zc_names 配置创建并返回零成本预测器字典。

返回

名称 类型 描述
字典

一个字典,其中键是零成本预测器名称,值是预测器对象。

new_epoch(epoch)

执行优化过程的一个 epoch。

参数

名称 类型 描述 默认值
epoch 整型

当前 epoch 编号。

必需

query_zc_scores(arch)

查询并返回给定架构的零成本得分。

参数

名称 类型 描述 默认值
arch 对象

要查询的架构。

必需

返回

名称 类型 描述
字典

一个字典,其中键是零成本预测器名称,值是相应的得分。

test_statistics()

返回最终架构的测试统计数据。

返回

名称 类型 描述
整型

最终架构的原始测试指标。

train_statistics(report_incumbent=True)

返回最佳架构或最后训练架构的训练统计数据。

参数

名称 类型 描述 默认值
report_incumbent 布尔值

是否返回最佳架构的统计数据。默认为 True。

True

返回

名称 类型 描述
元组

一个元组,包含架构的训练准确率、验证准确率、测试准确率和训练时间。