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
|
返回
名称 | 类型 | 描述 |
---|---|---|
元组 |
一个元组,包含架构的训练准确率、验证准确率、测试准确率和训练时间。 |