Tiny CNN Classifier for CIFAR-10
This is a custom Convolutional Neural Network (CNN) trained on the CIFAR-10 dataset.
It classifies images into 10 categories:airplane, automobile, bird, cat, deer, dog, frog, horse, ship, truck
π Model Overview
- Type: Convolutional Neural Network (CNN)
- Architecture:
- 2 convolutional layers
- 2 max-pooling layers
- 2 fully connected layers
- ReLU activation functions
- Dataset: CIFAR-10 (10 classes)
- Framework: PyTorch
- Test Accuracy: 69.90%
- Training Epochs: 5
The model uses two convolutional layers followed by max-pooling and fully connected layers to classify images. It was trained using Adam optimizer and Cross-Entropy loss.
How to Use
β οΈ Note: This is not a Hugging Face Transformers model.
You cannot usepipeline(). Instead, load it directly with PyTorch.
1. Clone the repository
git clone https://huggingface.co/Udayan012/tiny-cnn-classifier
cd tiny-cnn-classifier
2. Install Dependencies
pip install torch torchvision pillow
3. Load the model
import torch
from model import CustomCNN
# Initialize model and load weights
model = CustomCNN()
model.load_state_dict(torch.load("cnn_model.pth", map_location="cpu"))
model.eval()
4. Run inference on an image
from torchvision import transforms
from PIL import Image
# CIFAR-10 preprocessing (32x32 RGB)
transform = transforms.Compose([
transforms.Resize((32, 32)),
transforms.ToTensor(),
])
# Load an image
img = Image.open("your_image_path.jpg").convert("RGB")
x = transform(img).unsqueeze(0)
# Predict
with torch.no_grad():
output = model(x)
pred_class = output.argmax(1).item()
classes = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck']
print("Predicted class:", classes[pred_class])
Training Information
Dataset: CIFAR-10 Optimizer: Adam Loss Function: Cross-Entropy Loss Epochs: 5 Batch Size: 32 Learning Rate: 0.001
Model Limitations
Trained only on CIFAR-10 β works best on 32x32 images with simple backgrounds. May not generalize well to high-resolution or real-world images.
License
This model is released under the Apache 2.0 License. You can freely use, modify, and distribute this model.