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 use pipeline(). 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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support