This project explores the use of auto-encoders for dimensionality reduction in the context of image classification. The Cat & Dog dataset is utilized for the classification task, and the implementation is carried out using the PyTorch library, encompassing both the auto-encoder and the classification model.
- Dimensionality Reduction: The project demonstrates the application of auto-encoders to reduce the dimensionality of input images, improving classification efficiency.
- Cat & Dog Dataset: A popular benchmark dataset is used to validate the effectiveness of the approach.
- PyTorch Implementation: Both the auto-encoder and the classification models are implemented using the PyTorch framework.
Two models have already been trained and their weights are saved in the states directory. By default, the notebook is configured to load these pre-trained weights.
- Training from Scratch: Although the notebook is set to load pre-trained weights, you can opt to train the models from scratch by modifying the appropriate training flags.
- Further Training: If you wish to continue training the model for additional epochs, you can load the pre-trained weights and adjust the training flags. The load_num_trained_epochs flag allows you to specify the number of epochs already trained, enabling you to resume training seamlessly.
- Step 1 : Clone the repository.
- Step 2 : Create a Python or Conda environment.
- Step 3 : Install all required libraries.
- Using pip:
pip install torch torchvision numpy matplotlib tqdm pandas scikit-learn seaborn - Using conda:
conda install pytorch torchvision numpy matplotlib tqdm pandas scikit-learn seaborn - Step 4 : Customize and run the notebook by adjusting the flags according to your requirements.


