This project involves classifying 80x80 images generated by deep generative models into three distinct classes (0, 1, 2).
- Training Set: 10,500 images with labels
- Validation Set: 3,000 images with labels
- Test Set: 4,500 images
- Metrics Used: Minkowski, Euclidean, Manhattan
- Best Accuracy: 0.50 using Manhattan metric with 138 neighbors
- Framework: PyTorch
- Initial Accuracy: 70% on the validation set
- Final Model Accuracy: 76%
- Resize: 80x80x3 pixels
- Normalization: Pixel values scaled to [0, 1]
- Training Set: RandomHorizontalFlip, RandomRotation(5)
- Validation/Test Set: Only normalization
- Convolutional Layers: Conv2d, BatchNorm2d, ReLU, MaxPool2D
- Dropout Layers: To prevent overfitting (rate: 0.1)
- Dense Layers: Fully connected with ReLU activation, final layer with softmax activation
- Filters: {32, 64, 128, 256}
- Kernel Size: (3,3)
- Neurons in Dense Layers: {32, 64, 128, 256}
- Optimizer: Adam
- Loss Function: Cross entropy
- Early Stopping: Implemented to avoid overfitting