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?"
- About
- Demo
- Features
- Getting Started
- Built With
- Contributing
- Code of Conduct
- Versioning
- Authors
- Licensing
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.
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.
- The simple funny digit recognizer, which allows to draw one digit and to get the answer on a question "Is this digit intended?".
For more information on an upcoming development, please read the todo list.No plans.
- For more information on a releases, a features and a changes, please read the changelog notes.
These instructions allow to get a copy of this project and run it on a local machine.
Before using it, make sure that follows software are installed on the local machine:
- Oracle JDK 9+ - the java development kit.
If any of the listed software is not installed, then it can be installed by instruction as described below.
-
- Install Oracle JDK 11+ according to instructions from an official instruction.
In order to install it is quite simple to clone or download this repository, or download jar
file from release assets.
For the cloning this repository to a local machine, just use the follows link:
https://github.com/ololx/pixel-seven-recognizer.git
To use it is necessary to:
- Build the project.
- 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/)
- Wait until the training data is loaded and the training process is complete (after training will be a black frame).
- Draw digit and clear it, and again:
- Use the first mouse button to draw.
- Use the second mouse button to clear.
- Use the mouse wheel (up/down) to resize the brush stroke.
Oracle JDK - java development kit;
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.
In order to ensure that all is welcoming, please review and abide by the code of conduct.
For the versioning is used Semantic Versioning. For the versions available, see the changelog or the tags on this repository.
- Alexander A. Kropotin - Initial work - ololx.
This project is licensed under the MIT license - see the lisence document for details.