Overview
The MNIST Hand-Drawn Digit Recognition project is a Python-based
application that utilizes Deep Learning to recognize hand-drawn
digits. The project is structured to train a neural network
model on the MNIST dataset and subsequently provide a graphical
user interface (GUI) for real-time digit recognition.
Key Technology
-
Python: the project uses Python as the
primary programming language.
-
Jupyter Notebooks: Used for data exploration
and model training.
-
PyTorch: Used for model training and
inference.
-
Tkinter: Used for GUI application to run
model inference.
-
Pytest: Testing ensures for functionality
code safety.
-
Numpy & Matplotlib: Used for Data
Visualization and Analysis.
GUI Application
The GUI application, developed in Python and housed in the
gui.py file, provides an interactive platform for digit
recognition using a pre-trained neural network model. Users can
draw digits on a 280x280 pixel canvas, and upon clicking
"Predict", the drawn digit is resized, preprocessed, and fed to
the model, displaying the predicted digit on the interface. The
application also allows users to clear the canvas and draw new
digits for prediction. It ensures a user-friendly experience by
providing clear controls for drawing, predicting, and clearing,
along with handling potential errors, such as model loading
issues, gracefully by informing the user through clear error
messages. This application demonstrates a practical, real-world
application of a machine learning model in a manner that is
accessible and interactive for users without technical expertise
in machine learning.
Explore Further