The current project is a deep learning-based web application that aims to classify mathematical symbols using Convolutional Neural Network. The user will write a character and as an output, the application should predict and classify the input from the 82 classes available in the dataset. These classes represent the different math symbols, predefined functions, digits and Latin alphanumeric symbols.
- 3 Convolutional Layers
- Activation function : Relu
- 3 Pooling Layers
- 12 epochs
- Batch size : 100
- Optimizer : Adam
- Accuracy : 91.5%
This project requires Python 3.x and the following Python libraries installed:
to install them, run the following command:
cd Project
pip install -r requirements.txt
You will also need to have Jupyter Notebook installed to run and execute a notebook.
If you do not have Python installed yet, it is highly recommended that you install the Anaconda distribution of Python, which already has the above packages and more included.
myModel/model.ipynb
: Model architecture.train.ipynb
: Training the model and getting the serialized model + weights.classifier.ipynb
: Feeding the model a new image, gets resized to 45x45 px to get a prediction. Better use it like this :
python classifier.py --labelbin labels.pickle --model model.model --image your_image.png
Or use directly the deployed
version.
While no data is directly provided with the project, you will be required to download and use the Handwritten Math Symbols dataset.
You will find the deployment in this repository