All Projects → rhammell → mnist-draw

rhammell / mnist-draw

Licence: other
Draw and classify digits (0-9) in a browser using machine learning

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to mnist-draw

MNIST-CoreML
Predict handwritten digits with CoreML
Stars: ✭ 63 (+133.33%)
Mutual labels:  mnist-dataset
xRBM
Implementation of Restricted Boltzmann Machine (RBM) and its variants in Tensorflow
Stars: ✭ 51 (+88.89%)
Mutual labels:  mnist-dataset
videoMultiGAN
End to End learning for Video Generation from Text
Stars: ✭ 53 (+96.3%)
Mutual labels:  mnist-dataset
Handwritten-Digits-Classification-Using-KNN-Multiclass Perceptron-SVM
🏆 A Comparative Study on Handwritten Digits Recognition using Classifiers like K-Nearest Neighbours (K-NN), Multiclass Perceptron/Artificial Neural Network (ANN) and Support Vector Machine (SVM) discussing the pros and cons of each algorithm and providing the comparison results in terms of accuracy and efficiecy of each algorithm.
Stars: ✭ 42 (+55.56%)
Mutual labels:  mnist-dataset
MNIST
Handwritten digit recognizer using a feed-forward neural network and the MNIST dataset of 70,000 human-labeled handwritten digits.
Stars: ✭ 28 (+3.7%)
Mutual labels:  mnist-dataset
Deep-Learning-in-R-using-Keras-and-Tensorflow-
Implementing Deep learning in R using Keras and Tensorflow packages for R and implementing a Multi layer perceptron Model on MNIST dataset and doing Digit Recognition
Stars: ✭ 24 (-11.11%)
Mutual labels:  mnist-dataset
MNIST-cnn
Convolutional neural networks with Python 3
Stars: ✭ 19 (-29.63%)
Mutual labels:  mnist-dataset
amr
Official adversarial mixup resynthesis repository
Stars: ✭ 31 (+14.81%)
Mutual labels:  mnist-dataset
CVAE-AnomalyDetection-PyTorch
Example of Anomaly Detection using Convolutional Variational Auto-Encoder (CVAE)
Stars: ✭ 23 (-14.81%)
Mutual labels:  mnist-dataset
Hand-Digits-Recognition
Recognize your own handwritten digits with Tensorflow, embedded in a PyQT5 GUI. The Neural Network was trained on MNIST.
Stars: ✭ 11 (-59.26%)
Mutual labels:  mnist-dataset
Tflearn
Deep learning library featuring a higher-level API for TensorFlow.
Stars: ✭ 9,573 (+35355.56%)
Mutual labels:  tflearn
Audio-Classification-using-CNN-MLP
Multi class audio classification using Deep Learning (MLP, CNN): The objective of this project is to build a multi class classifier to identify sound of a bee, cricket or noise.
Stars: ✭ 36 (+33.33%)
Mutual labels:  tflearn
Deep-Learning
Study and implementation about deep learning models, architectures, applications and frameworks
Stars: ✭ 80 (+196.3%)
Mutual labels:  tflearn
5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
RNN-LSTM that learns passwords from a starting list
Stars: ✭ 35 (+29.63%)
Mutual labels:  tflearn
quickserv
Dangerously user-friendly web server for quick prototyping and hackathons
Stars: ✭ 275 (+918.52%)
Mutual labels:  cgi-bin

mnist-draw

This repository contains a single page website that enables users to hand-draw and classify digits (0-9) using machine learning. A machine learning model trained against the MNIST dataset is used for classification.

Setup

Python 3.5+ is required for compatability with all required modules

# Clone this repository
git clone https://github.com/rhammell/mnist-draw.git

# Go into the repository
cd mnist-draw

# Install required modules
pip install -r requirements.txt

Usage

To launch the website, begin by starting a Python server from the repository folder:

# Start Python server
python -m http.server --cgi 8000

Then open a browser and navigate to http://localhost:8000/index.html to view it.

An example of the website's interface is shown below. Users are guided to draw a digit (0-9) on the empty canvas and then hit the 'Predict' button to process their drawing. Allow up to 1 minute for the processing to complete. Any errors during processing will be indicated with a warning icon and printed to the console.

Results are displayed as a bar graph where each classification label recieves a score between 0.0 and 1.0 from the machine learning model. Clear the canvas with the 'Clear' button to draw and process other digits.

Interface example:

Machine Learning Model

Python scripts related to defining, training, and implementing the machine learning model are contained within the cgi-bin folder.

A convolutional neural network (CNN) is defined within the model.py module using the TFLearn library. This model is configured for MNIST data inputs.

The defined CNN can be trained against the MNIST dataset by running the train.py script. This script will automaticallly load the MNIST dataset from the TFLearn library to use as input, and the trained model's parameter files are saved into the models directory. Pre-trained model files are made available in this directory already.

The mnist.py script implements this trained model against the user's hand-drawn input. When the 'Predict' button is clicked, the contents of the drawing canvas are posted to this script as data url, and a JSON object containing the model's predictions is returned.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].