Tiny ImageNet using PyTorch
I joined in FreeCodeCamp course where they were teaching a course for free on PyTorch through online.
The course is named as “Deep Learning with PyTorch: Zero to GANs”. This is a 6 weeks course where we were trained from basic fundamentals, Feed forward neural networks, CNNs, transfer learning models, GANs etc., As part of the final course project we were asked to choose any public dataset and apply the concepts learned in this course to train deep learning models end-to-end with PyTorch
Objective
Achieve an accuracy of 50% on the tiny-imagenet-200 dataset using:
Download dataset from this LINK
- Split the data to 70% — 30% train and test
ResNet18 architecture
- Total params: 11,271,432
- Trainable params: 11,271,432
- Non-trainable params: 0
- Input size (MB): 0.05
- Forward/backward pass size (MB): 45.00
- Params size (MB): 43.00
- Estimated Total Size (MB): 88.05
— — — — — — — — — — — — — —
Parameters and Hyperparameters
Image Augmentation Techniques
- Pad: h=72, w=72, p=1.0
- RandomCrop: h=64, w=64, p=1.0
- Horizontal Flip: p=0.25
- Rotate: limit=15, p=0.5
- RGBShift: (20, 20, 20), p=0.25
- Coarse Dropout: holes=1, h=8, w=8, p=0.75
Results
EPOCH: 39 (LR: 0.000125)L2_loss=388.042 Loss=2.64308 Batch_id=300 Accuracy=83.44: 100%|██████████| 301/301 [05:06<00:00, 1.02s/it]
0%| | 0/301 [00:00<?, ?it/s]Test set: Average loss: 1.6901, Accuracy: 19435/33000 (58.89%)
Achieved an accuracy of 58.89%