Lecturer: Simon H. Tindemans
Assistant: Kutay Bölat
This repo is dedicated to the demo notebook for TU Delft IAAIP 2023 - Synthetic Data Generation using Variational Autoencoders (VAEs) tutorial. It contains the end-to-end training of a (modifiable) VAE. The dataset of choice is Individual Household Electric Power Consumption Dataset. The resolution of the smart meter readings is 60 minutes but can be decreased until 1 minute. Besides training, several visualizations are included at the end of the notebook: reconstruction and latent space.
If you run the notebook on Colab, you need to open a new cell and run ! pip install matplotlib==3.5.2
first. Other than this issue, the run on Colab should be seamless. However, in order to initiate a Tensorboard session, you need a (separate) terminal. If you are not a Colab Pro user, it is relatively hard (but not impossible) to use your local terminal. I advise you to either omit Tensorboard or run the notebook locally.
If you run the notebook on local, you can
- install all the libraries by hand,
- use environment.yml (for Conda), or
- use requirements.txt (for pip).
[1] Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114.
[2] Higgins, I., Matthey, L., Pal, A., Burgess, C., Glorot, X., Botvinick, M., ... & Lerchner, A. (2016). beta-vae: Learning basic visual concepts with a constrained variational framework.
[3] Kristiadi, Agustinus (2022). Conditional Variational Autoencoder: Intuition and Implementation. https://agustinus.kristia.de/techblog/2016/12/17/conditional-vae/
[4] Dykeman, Isaac (2016). Conditional Variational Autoencoders. https://ijdykeman.github.io/ml/2016/12/21/cvae.html
[5]Wang, C., Sharifnia, E., Gao, Z., Tindemans, S. H., & Palensky, P. (2022). Generating multivariate load states using a conditional variational autoencoder. Electric Power Systems Research, 213, 108603.