This repository implements training and inference methods of DCGAN on mnist as well as celeb faces dataset
![](https://private-user-images.githubusercontent.com/144267687/296270563-725b9a71-2090-4a66-880e-1fe79a21ee31.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNzQ5NzMsIm5iZiI6MTczOTA3NDY3MywicGF0aCI6Ii8xNDQyNjc2ODcvMjk2MjcwNTYzLTcyNWI5YTcxLTIwOTAtNGE2Ni04ODBlLTFmZTc5YTIxZWUzMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOVQwNDE3NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iMGFmMzgxOWZmYTJjZjYxNDkxYjQ4ZTRmMWRhNzZkZDI1YjQwMTc1MDZkZmVkNzUwMTM2Y2RiNjBhNDM5MGU5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.rSiOqlXowIbUNpjJrjtCAZbX1jp4j9OeNXvG7Q-4vng)
![](https://private-user-images.githubusercontent.com/144267687/296270483-61c7d44a-5e4b-46d1-9807-52778441a626.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNzQ5NzMsIm5iZiI6MTczOTA3NDY3MywicGF0aCI6Ii8xNDQyNjc2ODcvMjk2MjcwNDgzLTYxYzdkNDRhLTVlNGItNDZkMS05ODA3LTUyNzc4NDQxYTYyNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOVQwNDE3NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iZTJkZjQzMzdlYThkMDBjMjA5MzhjNTg0Y2YxMGMyYTAyNzAwYzRiMzhiN2FlNjJlNjdlNjA5ODlkZDhmZDc2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.BBq1y9UtpaI4Ifsr7kT_dwy3C6yLIFKHmH48VbdI42U)
![](https://private-user-images.githubusercontent.com/144267687/296271876-a07d2a5f-04a1-49f9-b3bc-0577b68b0565.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNzQ5NzMsIm5iZiI6MTczOTA3NDY3MywicGF0aCI6Ii8xNDQyNjc2ODcvMjk2MjcxODc2LWEwN2QyYTVmLTA0YTEtNDlmOS1iM2JjLTA1NzdiNjhiMDU2NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOVQwNDE3NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yZjk1YWZmOTNiMDVhOTc4N2RjOWZiZjgzNzhhNDMyZDE3Yzg2YzdkYWY3ZGRlZjFlYmFiOWNkOTlhYjk3YjMyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.o6faBBncdQfAGxbjm1dD24zrStlSJ8YDvbe_HIH4Lts)
For setting up the mnist dataset: Follow - https://github.com/explainingai-code/Pytorch-VAE#data-preparation
The directory structure should look like this
$REPO_ROOT
-> data
-> train
-> images
-> 0
*.png
-> 1
...
-> 9
*.png
-> test
-> images
-> 0
*.png
...
-> dataset
-> tools
For setting up the celeb dataset:
- Simple Download the images from here -> Downloads -> Align&Cropped Images
- Download the
img_align_celeba.zip
file from drive link - Extract it under the root directory of the repo
- $REPO_ROOT -> img_align_celeba/*.jpg files
- Create a new conda environment with python 3.8 then run below commands
git clone https://github.com/explainingai-code/DCGAN-Pytorch.git
cd DCGAN-Pytorch
pip install -r requirements.txt
python -m tools.train --config config/mnist.yaml
for training and saving inference samples on mnist
config/mnist.yaml
- For mnistconfig/mnist_colored.yaml
- For mnist colored imagesconfig/celeb.yaml
- For training on celeb dataset
Outputs will be saved according to the configuration present in yaml files.
For every run a folder of task_name
key in config will be created
- Best Model checkpoints(discriminator and generator) in
task_name
directory - Generated samples saved in
task_name/samples