Pokemon ResNet18 Transfer Learning Classifier
Model Description
This model is a transfer-learning image classifier based on ResNet18, fine-tuned on a custom Pokemon image dataset with 6 classes:
- charizard
- charmander
- charmeleon
- ditto
- eevee
- ekans
The model was trained for the mandatory exercise "Computer Vision Classification & Model Comparison" and is intended to be compared against:
- an open-source zero-shot model (CLIP)
- a closed-source vision model (OpenAI)
Model Details
- Architecture: ResNet18 (
torchvision.models.resnet18)
- Framework: PyTorch
- Input size: 224 x 224 RGB
- Output classes: 6
- Checkpoint format:
.pth (state_dict + metadata)
Training Data
Dataset structure:
data/pokemon/train/
data/pokemon/test/
Classes:
charizard, charmander, charmeleon, ditto, eevee, ekans
Preprocessing
Training transforms:
RandomResizedCrop(224)
RandomHorizontalFlip()
ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2)
Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
Evaluation transforms:
Resize(256)
CenterCrop(224)
Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
Training Procedure
- Loss: CrossEntropyLoss
- Optimizer: Adam
- Learning rate:
1e-4
- Weight decay:
1e-4
- Batch size:
16
- Epochs:
4
- Device: CPU
Evaluation Results
Final performance from project reports:
- Best validation accuracy:
0.83784
- Test accuracy:
0.80
Class-level behavior (high-level):
- Strong performance on
ditto, charmander, ekans
- Main confusion observed between
charizard, charmeleon, and eevee on some samples
Intended Use
This model is intended for:
- educational experiments in transfer learning
- small-scale Pokemon image classification demos
- model-comparison workflows against CLIP/OpenAI vision systems
It is not intended for production or safety-critical applications.
Limitations
- Small custom dataset
- Limited class coverage (only 6 classes)
- Sensitivity to style/domain shift (sprites vs photos, color variants, edited images)
Ethical Considerations
This is a toy educational classifier trained on non-sensitive image categories. No personal or biometric data is used.
How to Use
Load checkpoint contents:
state_dict: model weights
labels: class names
image_size: expected size
architecture: model family
For complete inference logic and app integration, see the project source implementation.
Reproducibility Artifacts
- Model checkpoint:
custom_resnet18.pth
- Project metrics files:
custom_model_metrics.json
model_comparison.json
Links
- Hugging Face Space:
https://huggingface.co/spaces/kukalend/computer-Vision-classification
- Hugging Face model repo:
https://huggingface.co/kukalend/pokemon-transfer-resnet18