This is an implementation of various generative models. It contains implementations of the following:
- Autoregressive Models: PixelCNN, GatedPixelCNN
- Normalized Flows: Generative Flow (Glow)
- VAEs
- Score-based models: Denoising Score Matching
The code is ready to train the models using shapes, colored shapes, MNIST, and colored MNIST. Instructions on how to add new datasets can be found in datasets/datasets.py Models can also be easily added, see instructions in main.py
- Create a Neptune account, create a project and use the API token of your project in the API_TOKEN key in the appropriate config file in the configs folder
- Run the command
python main.py --configs ./configs/model_name/dataset_name.yaml
- You can find the config details of each dataset and logging settings in the yaml files
- You will find the training results, generated samples, and others on neptune (make sure that log_neptune is set to True in the yaml file)