Skip to content

Repository files navigation

Overview

This repository is on using variational autoencoders (VAE) and diffusion model (DDPM) for cartoon image generation. Code is implemented using Python 3.10 and tested on Ubuntu OS. Cartoon Set (10k) is used for trainning both the VAE and diffusion models. More implementation details can be found at this blog post.

VAE Result

Image 1

5x5 VAE sample grid

DDPM Result

Image 1

5x5 DDPM sample grid

Run Locally

Clone the project and go to project directory

  python3 -m venv env && source env/bin/activate 
  pip install -r requirements.txt
  • run train_vae.py or train_ddpm.py to train a VAE or DDPM respectively.
  • run fast_nst_training.py to train the feedforward convolutional neural network using fast neural style transfer algorithm.

To Do

  • Add DDPM code.

References

  1. Auto-Encoding Variational Bayes (VAE Paper)
  2. Denoising Diffusion Probabilistic Models (DDPM Paper)
  3. Diffusion Models | Paper Explanation | Math Explained, Diffusion Models | PyTorch Implementation (YouTube) and corresponding github repo Diffusion-Models-pytorch
  4. Diffusion Model 原理剖析 by Prof. Hung-yi Lee (李宏毅)

About

Minimal implementation of variational autoencoders (VAE) and diffusion models (DDPM) for cartoon images generation.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages