跳到主内容

正则化演化

Bases: MetaOptimizer

RegularizedEvolution 是一个类,它实现了用于神经架构搜索 (NAS) 的正则化演化算法。

属性

名称 类型 描述
using_step_function bool

指示此优化器不存在步进函数的标志。

config CfgNode

包含搜索过程设置的配置节点。

epochs int

搜索过程的 epoch 数。

sample_size int

每个种群需要抽样的架构数量。

population_size int

演化搜索中种群的最大规模。

performance_metric Metric

用于评估架构的性能指标。

dataset str

用于评估的数据集。

population collections.deque

用于存放架构种群的队列。

history torch.nn.ModuleList

用于存储架构历史的列表。

__init__(config)

使用配置设置初始化 Regularized Evolution 类。

参数

名称 类型 描述 默认值
config CfgNode

搜索过程的配置设置。

必需

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

调整搜索空间以进行正则化演化搜索。

参数

名称 类型 描述 默认值
search_space Graph

需要调整的搜索空间。

必需
scope str

搜索的范围。默认为 None。

None
dataset_api dict

数据集的 API。默认为 None。

None

get_checkpointables()

获取可以进行检查点(checkpoint)的模型。

返回值

名称 类型 描述
dict

一个字典,以“model”作为键,架构历史作为值。

get_final_architecture()

从搜索中获取最终(最佳)架构。

返回值

名称 类型 描述
Graph

在搜索过程中找到的最佳架构。

get_model_size()

获取模型参数数量的大小。

返回值

名称 类型 描述
float

模型的 MB 大小。

get_op_optimizer()

获取操作的优化器。此方法在此类中未实现,调用时会引发错误。

引发

类型 描述
NotImplementedError

始终引发,因为此方法在此类中未实现。

new_epoch(epoch)

在搜索过程中开始新的 epoch。

参数

名称 类型 描述 默认值
epoch int

当前的 epoch 号。

必需

test_statistics()

报告测试统计数据。

返回值

名称 类型 描述
float

最佳架构的原始性能指标。

train_statistics(report_incumbent=True)

报告训练后的统计数据。

参数

名称 类型 描述 默认值
report_incumbent bool

是否报告当前最优(incumbent)或最新架构。默认为 True。

True

返回值

名称 类型 描述
tuple

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