ResNet34 for CIFAR-100 Classification
This model is a ResNet34 architecture trained from scratch on CIFAR-100 dataset, achieving 73.09% top-1 accuracy.
Model Details
- Architecture: ResNet34 with BasicBlock residual structure
- Parameters: 21,328,292
- Dataset: CIFAR-100 (100 classes)
- Training Epochs: 83
- Target Accuracy: 73.0% (✅ Achieved!)
- Final Accuracy: 73.09%
Training Configuration
- Optimizer: SGD with Nesterov momentum (0.9)
- Learning Rate: OneCycleLR (max_lr=0.1)
- Weight Decay: 5e-4
- Batch Size: 128
- Loss Function: CrossEntropyLoss with Label Smoothing (0.1)
- Data Augmentation: Heavy augmentation with Albumentations
Usage
import torch
from model import ResNet34 # You'll need the model definition
# Load the model
model = ResNet34(num_classes=100)
checkpoint = torch.load('best_model.pth', map_location='cpu')
model.load_state_dict(checkpoint['model_state_dict'])
model.eval()
# For inference, use the transforms from the training
CIFAR-100 Classes
The model can classify images into 100 classes from CIFAR-100 dataset, including animals, vehicles, objects, and natural scenes.
Performance
- Top-1 Accuracy: 73.09%
- Training Time: ~3.75 hours on GPU
- Model Size: ~81MB
Repository
- GitHub: https://github.com/chethan180/ciphar-100
- Training Logs: See TRAINING_LOGS.md for detailed epoch-by-epoch progress