Skip to content

TriBye/MNIST

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project classifies handwritten digits (0-9)

ITX Numscan (MNIST)

ITX Numscan is a collection of MNIST digit classifiers and tools. It contains a self-written neural network (Numscan) mostly for educational purpose, a Convolutional neural network version using Tensorflow (Numscan 2), and a Discord bot for Numscan integration in Discord Servers. The Goal of the Project is to learn how neural networks operate and integrating it into Web or Discord.

Purpose

  • To understand the Math behind neural networks
  • To provide a accurate classifier
  • To integrate digit classification in tools or elsewhere

Project Structure

  • Numscan/ - Folder for the self-made neural network based classifier
  • Numscan 2/ - Folder for the newer, smarter classifier with Tensorflow
  • Discord Bot/ - Folder for Discord integration
  • editor.py - Desktop testing tool for single samples, either loaded or self-drawn
  • requirements.txt - All Python requirements

Set up

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt

1. Numscan (Dense)

You need to put the MNIST Pngs into the Data Folder first!

Train the model with the images in the Data:

python "Numscan/Scripts/Train/training.py"

Test the models overall performance:

python "Numscan/Scripts/Test/test.py"

Test the model yourself:

python "editor.py"

2. Numscan 2 (CNN)

Train a model with the samples of the MNIST Dataset or load an already exsisting one:

python "Numscan 2/model.py"

Test the models performance:

python "Numscan 2/test.py"

Test the model yourself:

python "editor.py"

3. Discord Bot

The Discord Application reacts to uploaded images in the correct channel. The application needs join the server for it to work!

Create Discord Bot/.env with Token, Channel name and Model path:

DISCORD_BOT_TOKEN=your-token-here
MNIST_CHANNEL_NAME=numscan
MNIST_MODEL_PATH=Numscan/Models/after.pickle

Run the bot:

python "Discord Bot/bot.py"

About

Deep-Learning Neural Network for Classification of handwritten digits

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%