tiny-cnn-classifier / README.md
Udayan012's picture
Upload README.md with huggingface_hub
1ce63d0 verified
---
---
tags:
- image-classification
- cnn
- cifar-10
license: apache-2.0
library_name: pytorch
---
# 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
```bash
git clone https://huggingface.co/Udayan012/tiny-cnn-classifier
cd tiny-cnn-classifier
```
### 2. Install Dependencies
```bash
pip install torch torchvision pillow
```
### 3. Load the model
```python
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
```python
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.