Brand Image
  • Home
  • About
  • Resume
  • Portfolio
  • Blogs
  1. Home
  2. Portfolio
  3. Mnist digit recognition cnn
MNIST Digit Recognition CNN

MNIST Digit Recognition CNN

  • Experiment 4 Training Accuracy vs Epochs

    Experiment 4 Training Accuracy vs Epochs

  • Mnist Digits Random Samples

    Mnist Digits Random Samples

  • Data Augmentation with Random Rotations

    Data Augmentation with Random Rotations

  • Data Augmentation with Random Translations

    Data Augmentation with Random Translations

  • Data Augmentation with Random Zooms

    Data Augmentation with Random Zooms

  • Experiment 1 Training Loss vs Epochs

    Experiment 1 Training Loss vs Epochs

  • Experiment 1 Training Accuracy vs Epochs

    Experiment 1 Training Accuracy vs Epochs

  • Experiment 3 Training Loss vs Epochs

    Experiment 3 Training Loss vs Epochs

  • Experiment 3 Training Accuracy vs Epochs

    Experiment 3 Training Accuracy vs Epochs

  • Experiment 4 Training Loss vs Epochs

    Experiment 4 Training Loss vs Epochs

  • Experiment 4 Training Accuracy vs Epochs

    Experiment 4 Training Accuracy vs Epochs

  • Mnist Digits Random Samples

    Mnist Digits Random Samples

    Project Description

    A project showcasing the full lifecycle of a deep learning model: building a custom CNN in TensorFlow, training it on an augmented MNIST dataset, and deploying it for instant, offline-capable inference in the browser.

    Responsibilities
    • Engineered an end-to-end digit recognition system by building a custom Convolutional Neural Network (CNN) from scratch using TensorFlow and Keras.
    • Achieved over 99% accuracy and a 0.99 F1-score on the MNIST test set, outperforming or matching traditional ML model benchmarks through a superior, spatially-aware architecture.
    • Designed and implemented an on-the-fly data augmentation pipeline directly into the model using Keras layers (RandomTranslation, Zoom, Rotation) to improve model robustness and generalization.
    • Systematically managed the training process for over 200 epochs, using Keras Callbacks like ModelCheckpoint to save the best-performing models based on validation accuracy.
    • Conducted a thorough analysis of training and validation learning curves (loss and accuracy) to diagnose model behavior, identify the optimal training duration, and prevent overfitting.
    • Architected a deep network following modern design principles, including progressively increasing filter depth (8 -> 16 -> 32) while decreasing spatial dimensions with MaxPooling.
    • Converted the final trained model to TensorFlow.js format for deployment, enabling high-performance, real-time inference directly in the browser for a fully client-side web application.
    Related Links
    • Live Demo
    • GitHub Repository
    Technology
    PythonTensorFlowTensorFlow.js