diffusion-gan-vae-pytorch

🎨 Deep Generative Models in PyTorch

PyTorch Python Jupyter Notebook License

Master deep generative models in PyTorch with ease!

Welcome to Diffusion-GAN-VAE-PyTorch! This repository is your ultimate resource for mastering deep generative models, implemented from scratch in PyTorch. It features Variational Autoencoders (VAE), Generative Adversarial Networks (GAN), Conditional GANs, Diffusion Models, and Conditional Diffusion Models, all crafted with clarity and precision.


Source Code Website
github.com/deepmancer/diffusion-gan-vae-pytorch deepmancer.github.io/diffusion-gan-vae-pytorch

🌟 Highlights

👉 Star this repo if you find it helpful, and join our community of AI enthusiasts!


🌠 Results

Fashion MNIST

Fashion MNIST Results

Conditional Diffusion Model

Conditional Diffusion Model Results 1 Conditional Diffusion Model Results 2

Diffusion Model

Diffusion Model Results 1 Diffusion Model Results 2

Conditional GAN

Conditional GAN Results

GAN

GAN Results 1 GAN Results 2

VAE

VAE Results 1 VAE Results 2


🛠️ Installation

Requirements

Ensure the following dependencies are installed:

Install dependencies with pip:

pip install torch numpy matplotlib tqdm

🌀 Models Overview

🔹 Variational Autoencoder (VAE)

A VAE learns a probabilistic latent space, enabling smooth interpolation and robust generation of new data points.

🔹 Generative Adversarial Network (GAN)

GANs pit a generator against a discriminator in a game-like setup, creating highly realistic samples over time.

🔹 Conditional Generative Adversarial Network (cGAN)

cGANs incorporate conditional inputs (like class labels) to control data generation, enabling targeted synthesis.

🔹 Diffusion Models

Diffusion Models simulate a stochastic process to progressively model complex distributions, resulting in high-quality generation.

🔹 Conditional Diffusion Models

Building on diffusion models, Conditional Diffusion Models allow for guided, condition-driven generation.


🌟 Getting Started

  1. Clone the repository:
    git clone https://github.com/deepmancer/diffusion-gan-vae-pytorch.git
    cd diffusion-gan-vae-pytorch
    
  2. Install dependencies.

  3. Run the notebook!

📝 License

This project is licensed under the MIT License. Feel free to use it in your projects while crediting the repository. See the LICENSE file for details.