Git Product home page Git Product logo

pixel-seven-recognizer's Introduction

pixel seven recognizer

The Pixel Seven Recognizer is a simple recognizer, which allows to draw one digit and get the answer on a question "Is this digit intended?"

status version oss lifecycle maintenance latest release date last commit

license Contributor Covenant


๐Ÿ“‡ Table of Contents

๐Ÿ“– About

The Pixel Seven Recognizer is a simple recognizer, which allows to draw one digit and get the answer on a question "Is this digit intended?". This recognizer based on the single layer perceptron and could be trained to recognition of one digit (from 1 to 9). The following image demonstrates this recognition.

๐Ÿ“ธ Demo

This image demonstrates the recognizer usage. The green background means that the digit is intended, the red background - no.

This image demonstrates the visualisation of the recognizer training process. Each pixel of the image is colored according to its weight for the neural network. Green means positive weight for a given pixel, red means negative weight. A more saturated color means a higher value, black means 0.

๐ŸŽš Features

  • The simple funny digit recognizer, which allows to draw one digit and to get the answer on a question "Is this digit intended?".

To Do

  • For more information on an upcoming development, please read the todo list. No plans.

Changelog

  • For more information on a releases, a features and a changes, please read the changelog notes.

๐Ÿšฆ Getting Started

These instructions allow to get a copy of this project and run it on a local machine.

Prerequisites

Before using it, make sure that follows software are installed on the local machine:

If any of the listed software is not installed, then it can be installed by instruction as described below.

  1. Oracle JDK 11+

    • Install Oracle JDK 11+ according to instructions from an official instruction.

Installing

In order to install it is quite simple to clone or download this repository, or download jar file from release assets.

Cloning

For the cloning this repository to a local machine, just use the follows link:

https://github.com/ololx/pixel-seven-recognizer.git

Using

To use it is necessary to:

  1. Build the project.
  2. Launch the instance .jar with the follows args:
{digit} {path_to_training_data} {network_training_probability}

where

  • {digit} - is a digit from 0 to 9;
  • {path_to_training_data} - path to directory with the MNIST database training data (mnist_png/training/*);
  • {network_training_probability} - OPTIONAL - the real number from 0 to 100, which specifies the probability for training the network.

For instance: java -jar pixel-seven-recognizer.jar 2 /Volumes/disk1/mnist_png/training

!Important: the data set could be downloaded by the following link http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz (main page link - http://yann.lecun.com/exdb/mnist/)

  1. Wait until the training data is loaded and the training process is complete (after training will be a black frame).
  2. Draw digit and clear it, and again:
    1. Use the first mouse button to draw.
    2. Use the second mouse button to clear.
    3. Use the mouse wheel (up/down) to resize the brush stroke.

๐Ÿ›  Built With

Oracle JDK - java development kit;

๐ŸŽ‰ Contributing

If you want to contribute this project - you are welcome and have fun. Please visit the contributing section for details on this code of conduct, and the process for submitting pull requests.

๐Ÿ“ Code of Conduct

In order to ensure that all is welcoming, please review and abide by the code of conduct.

๐Ÿ—’ Versioning

For the versioning is used Semantic Versioning. For the versions available, see the changelog or the tags on this repository.

ยฉ๏ธ Authors

  • Alexander A. Kropotin - Initial work - ololx.

๐Ÿ” Licensing

This project is licensed under the MIT license - see the lisence document for details.

pixel-seven-recognizer's People

Contributors

ololx avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

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.