22
33# DeepCAVE
44
5- DeepCAVE is a visualization and analysis tool for AutoML (especially for the sub-problem
6- hyperparameter optimization) runs. The framework is programmed on top of Dash and therefore
7- entirely interactive. Multiple and diverse plugins make it possible to efficiently generate insights
8- and bring the human back in the loop. Moreover, the powerful run interface and the modularized
9- plugin structure allow extending the tool at any time effortlessly.
5+ DeepCAVE is a visualization and analysis tool for AutoML, with a particular focus on
6+ hyperparameter optimization (HPO). Built on the Dash framework, it offers a fully
7+ interactive experience. The tool features a variety of plugins that enable efficient insight
8+ generation, aiding in understanding and debugging the application of HPO.
9+ Additionally, the powerful run interface and the modularized plugin structure allow extending the
10+ tool at any time effortlessly.
1011
1112![ Configuration Footprint] ( docs/images/plugins/configuration_footprint.png )
1213
13- Following features are provided:
14- - Interactive Dashboard (completely written in Python) to self-analyze optimization runs/processes.
15- - Analyzing while optimizing (run changes are automatically detected).
16- - A large collection of plugins to explore multiple areas like performance, hyperparameter and
17- budget analysis.
18- - Save your runs using DeepCAVE's native recorder.
19- - Support for many optimizers using converters (e.g., DeepCAVE, SMAC and BOHB).
20- - Select runs directly from a working directory in the interface.
21- - Select groups of runs for combined analysis.
22- - Modularized plugin structure with access to selected runs/groups to provide maximal flexibility.
23- - Asynchronous execution of expensive plugins and caching of their results.
24- - Help buttons and integrated documentation in the interface helps you to understand the plugins.
25- - Use the matplotlib mode to customize and save the plots for your publication.
26- - The API mode gives you full access to the code, while you do not have to interact with the
27- interface. Otherwise, you can also make use of the raw data, provided by every plugin.
28-
2914
3015## Installation
3116
@@ -50,41 +35,21 @@ conda install -c anaconda swig
5035make install-dev
5136```
5237
53- If you want to use the given examples, run this after installing:
38+ If you want to try the examples for recording your results in DeepCAVE format , run this after installing:
5439``` bash
5540make install-examples
5641```
5742
58- Please visit the [ documentation] ( https://automl.github.io/DeepCAVE/main/installation.html ) to get
59- further help (e.g. if you can not install redis server or you are on a mac).
60-
61-
62- ## Recording
63-
64- A minimal example is given to show the simplicity yet powerful API to record runs.
65- However, existing optimizers like BOHB, SMAC, Auto-Sklearn, Auto-PyTorch are supported natively.
66-
67- ``` python
68- import ConfigSpace as CS
69- from deepcave import Recorder, Objective
70-
71-
72- configspace = CS .ConfigurationSpace(seed = 0 )
73- alpha = CS .hyperparameters.UniformFloatHyperparameter(
74- name = ' alpha' , lower = 0 , upper = 1 )
75- configspace.add_hyperparameter(alpha)
76-
77- accuracy = Objective(" accuracy" , lower = 0 , upper = 1 , optimize = " upper" )
78- mse = Objective(" mse" , lower = 0 )
79-
80- with Recorder(configspace, objectives = [accuracy, mse]) as r:
81- for config in configspace.sample_configuration(100 ):
82- for budget in [20 , 40 , 60 ]:
83- r.start(config, budget)
84- # Your code goes here
85- r.end(costs = [0.5 , 0.5 ])
43+ To load runs created with Optuna or the BOHB optimizer, you need to install the
44+ respective packages by running:
45+ ``` bash
46+ make install-optuna
47+ make install-bohb
8648```
8749
50+ Please visit the [ documentation] ( https://automl.github.io/DeepCAVE/main/installation.html ) to get
51+ further help (e.g. if you cannot install redis server or if you are on MacOS).
52+
8853
8954## Visualizing and Evaluating
9055
@@ -100,12 +65,56 @@ You can find more arguments and information (like using custom configurations) i
10065
10166## Example runs
10267
103- DeepCAVE comes with some pre-evaluated runs to get a feel for what DeepCAVE can do.
68+ DeepCAVE comes with some pre-evaluated runs to get a feeling for what DeepCAVE can do.
10469
105- When you installed the package from GitHub via ` git clone git@ github.com: automl/DeepCAVE.git; pip install -e DeepCAVE ` ,
70+ If you cloned the repository from GitHub via ` git clone https:// github.com/ automl/DeepCAVE.git ` ,
10671you can try out some examples by exploring the ` logs ` directory inside the DeepCAVE dashboard.
10772For example, if you navigate to ` logs/DeepCAVE ` , you can view the run ` mnist_pytorch ` if you hit
108- the ` + ` button.
73+ the ` + ` button left to it.
74+
75+
76+ ## Features
77+
78+ ### Interactive Interface
79+ - ** Interactive Dashboard:**
80+ The dashboard runs in a webbrowser and allows you to self-analyze your optimization runs interactively.
81+
82+ - ** Run Selection Interface:**
83+ Easily select runs from your working directory directly within the interface.
84+
85+ - ** Integrated Help and Documentation:**
86+ Use help buttons and integrated documentation within the interface to better understand the plugins.
87+
88+ ### Comprehensive Analysis Tools
89+ - ** Extensive Plugin Collection:**
90+ Explore a wide range of plugins for in-depth performance, hyperparameter, and budget analysis.
91+
92+ - ** Analysis of Running Processes:**
93+ Analyze and monitor optimization processes as they occur, with automatic detection of run changes.
94+
95+ - ** Group Analysis:**
96+ Choose groups of runs for combined analysis to gain deeper insights.
97+
98+ ### Flexible and Modular Architecture
99+ - ** Modular Plugin Architecture:**
100+ Benefit from a modularized plugin structure with access to selected runs and groups, offering you maximum flexibility.
101+
102+ - ** Asynchronous Execution:**
103+ Utilize asynchronous execution of resource-intensive plugins and caching of results to improve performance.
104+
105+ ### Broad Optimizer Support
106+ - ** Optimizer Support:**
107+ Work with many frameworks and optimizers using our converters, including converters for SMAC, BOHB, AMLTK, and Optuna.
108+
109+ - ** Native Format Saving:**
110+ Save AutoML runs from various frameworks in DeepCAVE's native format using the built-in recorder.
111+
112+ - ** Flexible Data Loading:**
113+ Alternatively, load AutoML runs from other frameworks by converting them into a Pandas DataFrame.
114+
115+ ### Developer and API Features
116+ - ** API Mode:**
117+ Interact with the code directly through API mode, allowing you to bypass the graphical interface if preferred.
109118
110119
111120## Citation
0 commit comments