手册¶
本手册介绍如何开始使用 Auto-PyTorch。我们建议您先查阅示例。本手册后面部分还有关于如何与 API 交互的额外建议。但是,欢迎您通过提交 Pull-Request 来为此文档做出贡献。
搜索通过调用每个支持的任务的 search() 函数开始。目前,我们支持表格分类和表格回归。未来我们将扩展支持到图像处理任务。
资源分配¶
Auto-PyTorch 允许控制估计器可以使用的最大允许驻留集大小(RSS)内存。通过向 search() 方法提供 memory_limit 参数,可以确保 SMAC 拟合的单个机器学习模型以及最终集成模型都不会消耗超过 memory_limit 兆字节的内存。
此外,可以通过向 search() 方法提供参数 total_walltime_limit 来控制用于搜索模型的时间。该参数控制 SMAC 可用于搜索新配置的总时间。分配的时间越多,最终的估计器就越好。
集成模型构建过程¶
Auto-PyTorch 使用 Caruana 等人 (2004) 的集成选择方法,基于模型在验证集上的预测来构建集成模型。以下超参数控制如何构建集成模型:
ensemble_size
确定集成模型的最大大小。如果设置为零,则不会构建集成模型。ensemble_nbest
允许用户直接指定用于构建集成的模型数量。当为此超参数提供一个整数时,最终集成模型仅从最佳 n 个模型中选择每个预测器。如果提供 0.0 到 1.0 之间的浮点数,ensemble_nbest
将被解释为一个比例,表示用于集成构建过程的模型百分比(即,如果 ensemble_nbest 是浮点数,则按 Caruana 等人 (2006) 中所述实现库剪枝)。例如,如果集成构建过程有 10 个候选模型,超参数为 ensemble_nbest==0.7`,我们将通过从原始 10 个候选模型中选取最佳 7 个模型来构建集成模型。max_models_on_disc
定义了磁盘上保留的最大模型数量,作为控制 Auto-PyTorch 消耗的磁盘空间的机制。在整个 AutoML 过程中,会优化不同的单个模型,其预测(及其他元数据)会存储在磁盘上。用户可以设置可接受保留在磁盘上的模型数量上限,但此变量在集成构建器使用的模型数量定义中具有优先权(即,ensemble_size
、ensemble_nbest
和max_models_on_disc
的最小值决定了集成模型中使用的最大模型数量)。如果设置为 None,则禁用此功能。
检查结果¶
Auto-PyTorch 允许用户检查训练结果和统计信息。以下示例展示了如何打印不同的统计信息进行检查。
>>> from autoPyTorch.api.tabular_classification import TabularClassificationTask
>>> automl = TabularClassificationTask()
>>> automl.fit(X_train, y_train)
>>> automl.show_models()