Git Product home page Git Product logo

emnist's Introduction

EMNIST

Developed by @coopss

Description

This project was intended to explore the properties of convolution neural networks (CNN) and see how they compare to recurrent convolution neural networks (RCNN). This was inspired by a paper I read that details the effectiveness of RCNNs in object recognition as they perform or even out perform their CNN counterparts with fewer parameters. Aside from exploring CNN/RCNN effectiveness, I built a simple interface to test the more challenging EMNIST dataset dataset (as opposed to the MNIST dataset)

Current Implementation
  • Multistack CNN
  • Web-applet testing environment
    • Touch screen compatible
    • Works best when letter takes up a good portion of the canvas
  • Read in .mat file
  • Currently training on the byclass dataset (direct download link)
    • See paper for more info
Todo
  • Update gif with new webapp
  • Train more models
    • RCNN
    • Optimize hyperparameters
    • Add a noise (gaussian or likewise) layer to input in an attempt to boost accuracy
  • Move webapp to a host service like PythonAnywhere

Environment

Anaconda: Python 3.5.3

  • Tensorflow or tensorflow-gpu (See here for more info)
  • Keras
  • Flask
  • Numpy
  • Scipy

Note: All dependencies for current build can be found in dependencies.txt

Usage

A training program for classifying the EMNIST dataset

usage: training.py [-h] --file [--width WIDTH] [--height HEIGHT] [--max MAX] [--epochs EPOCHS] [--verbose]
Required Arguments:
-f FILE, --file FILE  Path .mat file data
Optional Arguments
-h, --help            show this help message and exit
--width WIDTH         Width of the images
--height HEIGHT       Height of the images
--max MAX             Max amount of data to use
--epochs EPOCHS       Number of epochs to train on
--verbose         Enables verbose printing

A webapp for testing models generated from training.py on the EMNIST dataset

usage: server.py [-h] [--bin BIN] [--host HOST] [--port PORT]
Optional Arguments:
-h, --help   show this help message and exit
--bin BIN    Directory to the bin containing the model yaml and model h5 files
--host HOST  The host to run the flask server on
--port PORT  The port to run the flask server on

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.