Skip to content

Achintya47/DCGAN-Implementation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

PyTorch Logo        Kaggle Logo

DCGAN from Scratch - PyTorch

Implementation of Deep Convolutional GAN (DCGAN) using PyTorch
Trained on Kaggle Notebooks using anime faces and CelebA datasets.


✨ Project Highlights

  • DCGAN built from scratch based on the original paper (arXiv:1511.06434v2).
  • 🧱 Uses ConvTranspose2d, BatchNorm2d, and correct weight initialization.
  • 🎯 Focused training on two datasets — Anime Faces and CelebA Facecards.
  • 📊 Training tracked and visualized with TensorBoard.
  • 🚀 Implemented and trained on Kaggle Notebooks.

🖼️ Dataset Overview

Anime Faces Dataset CelebA Faces Dataset
  • Anime Faces Dataset
    Kaggle Link

    Diverse set with various artistic styles. Contains full-body characters, posters, and inconsistent framing.


📝 Note

The Anime Faces dataset is structured into 231 subfolders, each containing approximately 275 images.

To consolidate all images into a single folder for training, I wrote a simple script:

🔧 move_images.py — This script recursively goes through all subdirectories and moves the image files into a flat directory.

You can run it before dataset preprocessing to simplify your dataloader setup.


  • CelebA Face Dataset
    Kaggle Link

    High-quality, consistent, and aligned facial images—ideal for DCGAN convergence.


🚀 Training Progress - TensorBoard Visuals

🎨 Anime Faces — First 10 Epochs

Step 0 to Epoch 10

🔁 Continued Training to 35 Epochs (Degraded Quality)

Epoch 10 to 35

⚠️ Observation: Mode collapse and reduced diversity as training continued. The anime dataset has noise and non-face images which led to instability.


🧑‍🎤 CelebA Faces — First 10 Epochs

Step 0 to Epoch 10

🔥 CelebA Faces — Continued to 35 Epochs

Epoch 10 to 35

Insight: CelebA dataset yielded clearer, more consistent face generations even after prolonged training—thanks to higher quality and alignment.


📈 Visualizations

Launch TensorBoard locally:

tensorboard --logdir logs

About

Implementing Deep Convolutional Generative Adversarial Networks using Pytorch

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors