- Feature Extraction + k-NN
- Transfer Learning with ResNet18
- Neural Network from Scratch
- Comparison Between Models
- Observations and Challenges
- Implemented feature extraction using a pre-trained ResNet-18 model.
- Data preprocessing, transformation, and loading.
- Feature extraction from the last layer.
- Saving features for k-NN classification.
- Detailed results of k-NN classification.
- Example images and their classifications.
- Preprocessed and normalized images using ImageNet mean and standard deviation.
- Split the training data into train and validation sets.
- Loaded pre-trained ResNet-18 model.
- Fine-tuned the model with a custom classification layer.
- Trained with different optimizers and learning rates.
- Test accuracy on test data.
- Validation accuracy during training.
- Classification report and observations.
- Preprocessed and normalized images using training data mean and standard deviation.
- Split the training data into train and validation sets.
- Designed a custom convolutional neural network (CNN) from scratch.
- Implemented data loading and training with cross-entropy loss.
- Explored different CNN architectures.
- Test accuracy on test data.
- Validation accuracy during training.
- Classification report and observations.
- Compared k-NN, fine-tuning, and custom CNN approaches.
- Analyzed differences in accuracy and computational requirements.
- Discuss the impact of hyperparameters.
- Summarized observations and challenges faced during the assignment.
- Discussed key learnings from each approach.
This README provides a structured format for your GitHub repository, making it easier for users to understand the contents of your image classification assignment and access relevant information and results.