This project is an implementation of a Handwritten Digit Recognition system using the MNIST dataset. The model currently uses a simple fully connected neural network, but I plan to upgrade it to Convolutional Neural Networks (CNNs) to improve performance and accuracy.
The final goal is to deploy this as a Flask API where users can upload their own digit images and receive predictions in real-time.
- Train a neural network to recognize handwritten digits (0β9) from the MNIST dataset.
- Evaluate model accuracy and performance.
- Save and load trained models for reuse.
- Planned deployment as a Flask REST API for easy integration.
- Python
- TensorFlow / Keras
- Flask (planned deployment)
- NumPy, Matplotlib for data processing and visualization.
β
Model trained using a basic neural network.
π Plan to experiment with CNNs for better accuracy and generalization.
π§ API implementation using Flask is in progress.
.
βββ MNIST_notebook.ipynb # Jupyter notebook for model training and evaluation
βββ saved_model/ # Directory to store trained model files
βββ README.md # Project documentation
βββ requirements.txt # Python dependencies
- Improve performance by switching from a dense neural net to a CNN architecture.
- Implement Flask API for digit image upload and classification.
- Enhance preprocessing to handle user-uploaded images in different formats.
- Deploy API to a cloud platform for public use.
git clone https://github.com/your-username/handwritten-digit-recognition.git
cd handwritten-digit-recognitionpip install -r requirements.txtjupyter notebook MNIST_notebook.ipynbpython app.pyOnce deployed, the API will accept image uploads and return a JSON response like:
{
"prediction": 7,
"confidence": 0.98
}This project is licensed under the MIT License - see the LICENSE file for details.