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.