Skip to content

akku1209/Handwritten-Equation-Solver

Repository files navigation

Handwritten-Equation-Recognition---CNN

A WebApp for Solve Handwritten Equations using Convolutional Neural Networks

It works with any digit from 0-9 and the symbols +,-,x,√

White background and black digits are necessary

Convolutional Neural Network

  • Two Convolutional Layers
  • Two MaxPooling Layers
  • Dropout Layer
  • Flatten Layer
  • Two Dense Layers using Relu
  • Output Layer using Softmax
  • Adam Optimizer

Installation

  1. Create a virtual environment:
python3 -m venv venv
  1. Activate the virtual environment:

    • On Linux
    . venv/bin/activate
* On Windows
    venv\Scripts\activate
  1. Install the dependencies
	pip install -r requirements.txt
  1. If port if already in use
    pkill -9 python

Usage

In the folder model, there is a pre-build model of the neural network and the weights of that model. But if you wanna build or train in your own hands, you need to create a folder called 'datasets' in the root of the project, download the datasets from here and extract the folders 0, 1, 2, 3, 4 ,5, 6, 7, 8, 9, +, -, times (rename the folder for x)', sqrt (rename the folder for √) in the folder

After that you are ready to start the application. For that is just:

python -m flask run --without-threads

Used Technologies

  • TensorFlow / Keras
  • Python / Flask
  • OpenCv
  • P5.js

Releases

No releases published

Packages

No packages published