jayeshmurthi49-byte's picture
Update README.md
e06f043 verified
|
Raw
History Blame Contribute Delete
1.81 kB

A newer version of the Gradio SDK is available: 6.22.0

Upgrade
metadata
title: MNIST Digit Recognizer
emoji: πŸ”’
colorFrom: blue
colorTo: purple
sdk: gradio
app_file: app.py
pinned: false

MNIST Digit Recognizer πŸ”’

A deep learning model that recognizes handwritten digits (0-9) built from scratch using PyTorch and deployed with Gradio on HuggingFace Spaces. ce

πŸš€ Live Demo

Try it here

πŸ“Œ Project Overview

This project is part of my 6-month AI Engineer roadmap (Phase 4 β€” Deep Learning). The model is a Multi Layer Perceptron (MLP) trained on the MNIST dataset of 70,000 handwritten digit images.

🧠 What I Built

  • Built a neural network from scratch using PyTorch
  • Trained on 60,000 images, tested on 10,000 images
  • Achieved ~97% test accuracy
  • Deployed live using Gradio on HuggingFace Spaces

πŸ—οΈ Model Architecture

Input β†’ 784 neurons (28Γ—28 flattened) Hidden Layer 1 β†’ 128 neurons + ReLU Hidden Layer 2 β†’ 64 neurons + ReLU Output Layer β†’ 10 neurons (digits 0-9) Loss Function β†’ CrossEntropyLoss Optimizer β†’ Adam (lr=0.001) Epochs β†’ 5

πŸ“Š Dataset

  • Name: MNIST
  • Training images: 60,000
  • Test images: 10,000
  • Image size: 28Γ—28 grayscale
  • Classes: 10 (digits 0 to 9)

πŸ› οΈ Tech Stack

  • Python
  • PyTorch
  • Gradio
  • HuggingFace Spaces
  • Pillow

πŸ“ Project Structure

app.py β†’ Gradio UI and prediction logic train.py β†’ Model training and saving model.pkl β†’ Trained model weights requirements.txt β†’ Dependencies

πŸ’‘ Concepts Used

  • Multi Layer Perceptron (MLP)
  • Forward Propagation
  • Backpropagation
  • ReLU Activation Function
  • CrossEntropy Loss
  • Adam Optimizer
  • Gradient Descent

πŸ”— Connect