Skip to content

AutoML benchmark of state-of-the-art algorithms for regressions with neural networks

License

Notifications You must be signed in to change notification settings

martsalz/AutoML_NNI_Benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoML Benchmark

This repository was created as part of my master thesis "Hyperparameter tuning with AutoML for time series forecasts in the energy sector" at Fraunhofer IEE. The purpose of this repo is to provide code to automatically generate and run a large number of experiments including baselines using NNI. The following algorithms are considered:

  • Random Search
  • Evolution
  • Simulated Annealing
  • Hyperband
  • BOHB
  • Population Based Training

The following data sets are used for the experiments:

data set                | url
----------------------- | -------------
Solar Production        | https://open-power-system-data.org
Beijing PM2.5           | https://aqicn.org/city/beijing/
Appliances energy       | https://archive.ics.uci.edu/ml/datasets/Appliances+energy+prediction
Load forecast Germany   | https://open-power-system-data.org

The following models are used to perform the experiments:

  • Vanilla LSTM
  • Vanilla LSTM with dropout and batchnormalization layer
  • Stacked LSTM
  • Stacked LSTM with dropout and batchnormalization layer
  • 1D CNN

The generate_experiments.py is responsible for generating all files for the experiments. Afterwards all necessary files for NNI (neural_network, config.yml, search_space.json) are generated automatically. Feel free to add more algorithms.

Installation

It is recommended to install all packages in a virtual environment:

$ python3 -m venv venv_nni
$ source venv_nni/bin/activate

Install the dependencies and generate all files for the experiments and baselines:

$ ./install.sh

Alternatively, you can create the files for the experiments and baselines with:

$ python3 src/generate_experiments.py
$ python3 src/generate_baselines.py

Start the experiments:

$ python3 run.py -t 10

The environment variable NNI_OUTPUT_DIR specifies the path to all log files for each trial.

Additional

Check out my article about AutoML and how you can optimize neural networks automatically.

https://medium.com/@martsalz/automl-hyperparameter-tuning-with-nni-and-keras-ffbef61206cf

About

AutoML benchmark of state-of-the-art algorithms for regressions with neural networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published