一个交互式框架,用于实时可视化和分析您的 AutoML 流程。
项目描述
深洞
DeepCAVE 是用于 AutoML(尤其是子问题超参数优化)运行的可视化和分析工具。该框架是在 Dash 之上编程的,因此完全是交互式的。多种不同的插件可以有效地产生洞察力并将人类带回循环中。此外,强大的运行界面和模块化的插件结构,让您可以随时轻松扩展工具。
提供以下功能:
- 交互式仪表板(完全用 Python 编写)用于自我分析优化运行/过程。
- 在优化的同时进行分析(自动检测运行更改)。
- 大量插件可用于探索性能、超参数和预算分析等多个领域。
- 使用 DeepCAVE 的本机记录器保存您的运行。
- 支持许多使用转换器的优化器(例如,DeepCAVE、SMAC 和 BOHB)。
- Select 直接从界面中的工作目录运行。
- 选择运行组进行组合分析。
- 模块化插件结构,可访问选定的运行/组,以提供最大的灵活性。
- 异步执行昂贵的插件并缓存其结果。
- 界面中的帮助按钮和集成文档可帮助您了解插件。
- 使用 matplotlib 模式为您的出版物定制和保存图表。
- API 模式使您可以完全访问代码,而不必与界面交互。否则,您还可以利用每个插件提供的原始数据。
安装
首先,确保您的计算机上安装了redis-server 。
之后,按照说明安装 DeepCAVE:
conda create -n DeepCAVE python=3.9
conda activate DeepCAVE
conda install -c anaconda swig
pip install DeepCAVE
如果您想为 DeepCAVE 做出贡献,请改用以下步骤:
git clone https://github.com/automl/DeepCAVE.git
conda create -n DeepCAVE python=3.9
conda activate DeepCAVE
conda install -c anaconda swig
make install-dev
请访问文档以获得进一步的帮助(例如,如果您无法安装 redis 服务器或者您使用的是 Mac)。
记录
给出了一个简单的例子来展示记录运行的简单而强大的 API。但是,本机支持现有的优化器,如 BOHB、SMAC、Auto-Sklearn、Auto-PyTorch。
import ConfigSpace as CS
from deepcave import Recorder, Objective
configspace = CS.ConfigurationSpace(seed=0)
alpha = CS.hyperparameters.UniformFloatHyperparameter(
name='alpha', lower=0, upper=1)
configspace.add_hyperparameter(alpha)
accuracy = Objective("accuracy", lower=0, upper=1, optimize="upper")
mse = Objective("mse", lower=0)
with Recorder(configspace, objectives=[accuracy, mse]) as r:
for config in configspace.sample_configuration(100):
for budget in [20, 40, 60]:
r.start(config, budget)
# Your code goes here
r.end(costs=[0.5, 0.5])
可视化和评估
只需运行以下命令即可启动网络服务器以及队列/工作者:
deepcave --open
如果您指定--open
您的网络浏览器自动在http://127.0.0.1:8050/
. 您可以在文档中找到更多参数和信息(例如使用自定义配置)
。
示例运行
DeepCAVE 附带了一些预先评估的运行,以了解 DeepCAVE 可以做什么。
当您通过 GitHub 从 GitHub 安装包时,您可以通过探索DeepCAVE 仪表板内git clone git@github.com:automl/DeepCAVE.git; pip install -e DeepCAVE
的目录来尝试一些示例。logs
例如,如果您导航到,您可以点击按钮logs/DeepCAVE
查看运行情况。mnist_pytorch
+
引文
如果您在其中一个研究项目中使用 DeepCAVE,请引用我们的ReALML@ICML'22 研讨会论文:
@misc{sass-realml2022,
title = {DeepCAVE: An Interactive Analysis Tool for Automated Machine Learning},
author = {Sass, René and Bergman, Eddie and Biedenkapp, André and Hutter, Frank and Lindauer, Marius},
doi = {10.48550/ARXIV.2206.03493},
url = {https://arxiv.org/abs/2206.03493},
publisher = {arXiv},
year = {2022},
copyright = {arXiv.org perpetual, non-exclusive license}
}
版权所有 (C) 2016-2022 AutoML Group。