The repository explores various generative models for generating fake galaxy images.
The image data is available from Kaggle : Galaxy Zoo 2 images.
The galaxy morphological label data is constructed from the catalog of Hart et al. 2016 available from the Galaxy Zoo Project official website.
The baseline dataset consists of 155,951 galaxies.
See this notebook for dataset visualization.
Galaxy Morphology Types :

There are currently two generative models available.
DCGAN network architecture adopted from Radford et al. 2015. The implementation in this repo follows this PyTorch tutorial.
Source code
The VAE’s decoder netork is designed to closely follow the convolutional block design of the generator in DCGAN. The encoder part of the VAE is a mirror symmetry of the decoder. This way we can then compare the performance of the DCGAN generator and the VAE decoder condictioned on the total number of trainable parameters in the generator part of the networks, yet with different learning frameworks.
Source code
To train the network, specify the parameter settings in a yaml file located in the configs directory.
Parameter settings for training DCGAN : dcgan_test.yaml
Parameter settings for training VAE : vae_test.yaml
Then run the training scripts located in bin via:
python3 bin/train_dcgan.py --config configs/dcgan_test.yaml > experiments/dcgan_test.log
or
python3 bin/train_vae.py --config configs/vae_test.yaml > experiments/vae_test.log
Alternatively, one can also train the network following the demo notebooks :
[demo] dcgan example training run.ipynb
[demo] VAE example training run.ipynb

