Variational Autoencoder (VAE) project using PyTorch, showcasing generative modeling through Fashion MNIST data encoding, decoding, and latent space exploration. Explore tasks like model implementation, training, visualization, and image generation.
A Variational Autoencoder (VAE) is a type of generative model that can synthesize new data samples based on learned representations. This project focuses on encoding Fashion MNIST images into a compressed latent space and generating realistic images from these representations.
- Build an encoder and decoder using convolutional layers.
- Implement latent space sampling using the reparameterization trick.
- Train the VAE using the Fashion MNIST dataset.
- Monitor and visualize training and test set losses.
- Experiment with various latent space dimensions (2, 4, 8, 16, 32).
- Evaluate reconstruction quality and test set loss.
- Generate images by varying single and multiple latent dimensions.
- Explore effects of specific latent variables on output.
- Train a VAE with a 2D latent space.
- Plot latent space representations of different Fashion MNIST classes.
- Decode random samples from the latent space.
- Compare original images with reconstructed outputs.
- Image Reconstruction: Comparing original vs. reconstructed images.
- Latent Traversals: Visualizing changes when traversing the latent space.
- Class Separation: Latent space visualizations of Fashion MNIST classes.
Contributions are welcome! Follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature-name). - Commit your changes (
git commit -m 'Add new feature'). - Push to the branch (
git push origin feature-name). - Submit a pull request.
💡 Let's build and explore the power of generative models together!