How sabbirahmed-cys/handwritten-digit-recognition works
This repository provides a Streamlit interface for recognizing a handwritten digit and a separate script for training the CNN it uses. The user uploads an image; the app preprocesses it, runs model inference, and displays the predicted digit and class probabilities. Training loads MNIST, prepares datasets, trains and evaluates a CNN, then saves the model consumed by the app. The graph reflects the shown scripts and README; the saved model is present in the tree, but its internals are not shown.
Main entry points: app.py Streamlit app · train.py CNN training · digit_model.keras Trained CNN
Components 10
Recognition interface
- Streamlit app
Handwritten_Digit_Recognition/app.py - Prediction results
Handwritten_Digit_Recognition/app.py
Inference runtime
- Image preprocessing
Handwritten_Digit_Recognition/app.py - Trained CNN
Handwritten_Digit_Recognition/digit_model.keras - Digit inference
Handwritten_Digit_Recognition/app.py
Model training
- MNIST dataset
- Dataset preparation
Handwritten_Digit_Recognition/train.py - CNN training
Handwritten_Digit_Recognition/train.py - Test evaluation
Handwritten_Digit_Recognition/train.py
Other components
- Image uploader
Connections 10
- Image uploader → Streamlit app: uploads image
Handwritten_Digit_Recognition/app.py - Streamlit app → Image preprocessing: preprocesses
Handwritten_Digit_Recognition/app.py - Streamlit app → Trained CNN: loads
Handwritten_Digit_Recognition/app.py - Streamlit app → Digit inference: calls predict
Handwritten_Digit_Recognition/app.py - Digit inference → Trained CNN: runs inference
Handwritten_Digit_Recognition/app.py - Digit inference → Prediction results: returns scores
Handwritten_Digit_Recognition/app.py - MNIST dataset → Dataset preparation: supplies samples
Handwritten_Digit_Recognition/train.py - Dataset preparation → CNN training: provides batches
Handwritten_Digit_Recognition/train.py - CNN training → Test evaluation: evaluates on test set
Handwritten_Digit_Recognition/train.py - CNN training → Trained CNN: saves model
Handwritten_Digit_Recognition/train.py