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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDgzMDEsIm5iZiI6MTczODk0ODAwMSwicGF0aCI6Ii8xNDQyNjc2ODcvMjk2MjcwNTYzLTcyNWI5YTcxLTIwOTAtNGE2Ni04ODBlLTFmZTc5YTIxZWUzMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwN1QxNzA2NDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNTIyYjYzNzA2Nzk3ZGU3NmE0YWFiZTA5Njk4Yjk2ODgzYmRmZWQxOWRjMDJmNTA4ZmZiMDVhNzQyNzRkMDM0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.NES2L1WuS3udwshOUMcyeuDSJCl6uteGp0Mssv-VYBc)
![](https://private-user-images.githubusercontent.com/144267687/296270483-61c7d44a-5e4b-46d1-9807-52778441a626.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDgzMDEsIm5iZiI6MTczODk0ODAwMSwicGF0aCI6Ii8xNDQyNjc2ODcvMjk2MjcwNDgzLTYxYzdkNDRhLTVlNGItNDZkMS05ODA3LTUyNzc4NDQxYTYyNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwN1QxNzA2NDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMDQ3MjI4MzFlZGNiNzViYzNkOWE1MTc5ZTk4MmU4ZDY3OGJhYzkxZjRjY2VlZTczMjU3ZTBjZTAxMzk0MGI0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.BRRlYJnMmN6KoOiahBpNGPEtjXKsS83O40eE8BGdBus)
![](https://private-user-images.githubusercontent.com/144267687/296271876-a07d2a5f-04a1-49f9-b3bc-0577b68b0565.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDgzMDEsIm5iZiI6MTczODk0ODAwMSwicGF0aCI6Ii8xNDQyNjc2ODcvMjk2MjcxODc2LWEwN2QyYTVmLTA0YTEtNDlmOS1iM2JjLTA1NzdiNjhiMDU2NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwN1QxNzA2NDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NmYxMWNiMDFiYzgwMGI2NzE3ZmQ3OTMyYTdkZjM3ZDkzZDc2YzRiNGQyMjkxNmNhZDE0NzE4NzIwMjAxNDlkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.0P2uduUoxvVBuPFNTBlD1MEt-8gMlB-MN54y-rG2Z7U)
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