| language: en | |
| tags: | |
| - image-classification | |
| - computer-vision | |
| - pytorch | |
| - cnn | |
| - cifar10 | |
| license: mit | |
| datasets: | |
| - cifar10 | |
| model-index: | |
| - name: SimpleCNN CIFAR-10 Classifier | |
| results: [] | |
| # 🧠 SimpleCNN CIFAR-10 Classifier | |
| 📌 A simple Convolutional Neural Network (CNN) model trained on the [CIFAR-10 dataset](https://www.cs.toronto.edu/~kriz/cifar.html), capable of recognizing 10 classes of common objects. The model was trained using PyTorch and is suitable for educational and prototyping purposes. | |
| ## 🏷️ Classes | |
| - Airplane | |
| - Automobile | |
| - Bird | |
| - Cat | |
| - Deer | |
| - Dog | |
| - Frog | |
| - Horse | |
| - Ship | |
| - Truck | |
| ## 🧰 Training Procedure | |
| 1. Built a custom CNN model with 3 convolutional layers and 2 fully connected layers. | |
| 2. Used MaxPooling after each conv layer and dropout for regularization. | |
| 3. Resized all input images to 32x32 and applied normalization: `(mean=0.5, std=0.5)`. | |
| 4. Training/validation split: | |
| - 80% Training | |
| - 20% Validation | |
| 5. Training setup: | |
| - Optimizer: Adam | |
| - Loss Function: CrossEntropyLoss | |
| - Batch size: 64 | |
| - Learning rate: 0.001 | |
| - Epochs: 10 | |
| 6. Saved the best-performing model as `pytorch_model.bin`. | |
| ## 📊 Performance | |
| | Metric | Value | | |
| |----------------------|-----------| | |
| | Best Validation Accuracy | 88.76% | | |
| ## ⚙️ Framework & Environment | |
| - Python: 3.11 | |
| - PyTorch: 2.x (Colab) | |
| - Torchvision: 0.15.x | |
| - Platform: Google Colab (GPU enabled) | |
| ## 🧪 Hyperparameters | |
| | Parameter | Value | | |
| |-----------------|--------------| | |
| | Epochs | 10 | | |
| | Batch Size | 64 | | |
| | Optimizer | Adam | | |
| | Learning Rate | 0.001 | | |
| | Loss Function | CrossEntropy | | |
| | Image Size | 32x32 | | |
| | Data Split | 80% Train / 20% Val | | |
| --- | |