tetsuo-ai/DigitSuo
tetsuo-ai/DigitSuo has 48 GitHub stars and 7 forks. Star changes are not measured yet. Last checked 2026-11-11 00:06 UTC. Last push 2026-11-04.
handwritten digit recognition system using a custom neural network architecture. Built with C, it features both training capabilities and an interactive recognition interface. >98% accuracy on the MNIST dataset.
측정된 스타 증가
- in 24h
- 업데이트 지연
- in 7 days
- 업데이트 지연
- in 15 days
- 업데이트 지연
- in 1 month
- 업데이트 지연
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalDigitSuo
$TETSUO on Solana
Contract Address: 8i51XNNpGaKaj4G4nDdmQh95v4FKAxw8mhtaRoKd9tE8
A neural network–based digit recognition project using the MNIST dataset.
Installation
Clone the Repository
git clone [email protected]:tetsuo-ai/DigitSuo.git cd DigitSuoInstall Dependencies
Ubuntu/Debian:
sudo apt-get install gcc libncurses-dev zlib1g-dev doxygen graphvizFedora/RHEL:
sudo dnf install gcc ncurses-devel zlib-devel doxygen graphviz
Building the Project
Use the provided Makefile for the following targets:
Recognition Interface:
makeCompiles source files in
src/into the executabledigit_recognition.Training Program:
make trainCompiles
train.cwith OpenMP support into the executabletrain.Documentation:
make docsGenerates HTML documentation in
docs/html/using Doxygen.Clean Build Artifacts:
make cleanDelete Debug Log:
make clean_debugDelete Debug Log:
make clean_docs
Usage
Training the Network
Run the training program:
./train
This will:
- Load and preprocess the MNIST dataset (files:
train-images-idx3-ubyte.gzandtrain-labels-idx1-ubyte.gz). - Apply data augmentation.
- Train the neural network.
- Save optimized weights to
src/weights.h.
Using the Recognition Interface
Run the recognition interface:
./digit_recognition
Controls
- Mouse/Arrow Keys: Draw digits
- Number Keys (0-9): Load example digits
- Enter: Submit for recognition
- C: Clear drawing
- Q: Quit application
Technical Details
Neural Network Architecture
Input Layer (784 neurons)
│
│ Dense connections with ReLU activation
│ Weights initialized using He initialization
▼
Hidden Layer (256 neurons)
│
│ Dense connections with Softmax activation
│ Xavier/Glorot initialization
▼
Output Layer (10 neurons)
Training Pipeline
Data Preprocessing
- Load the MNIST dataset with zlib decompression.
- Apply data augmentation:
- Random rotation (±10°)
- Random shifts (±5 pixels)
- Gaussian blur (σ = 0.3)
- Generate balanced mini-batches.
Optimization
- Mini-batch gradient descent with momentum.
- Learning rate decay schedule.
- Early stopping with patience.
- OpenMP for parallel processing.
Performance Metrics
- Training accuracy: >98% on the MNIST test set.
- Inference latency: <10ms per prediction.
- Memory footprint: ~2MB during inference.
- Training time: ~5 minutes on a modern CPU.
Documentation
Generating Documentation
Generate the documentation using:
make docs
Viewing Documentation
Start the documentation server:
python3 serve_docs.py
Access the documentation at http://localhost:8000.
Project Structure
.
├── Doxyfile # Doxygen configuration file
├── doxygen-custom.css # Custom CSS for documentation
├── Makefile # Build configuration
├── README.md # Project documentation
├── docs/ # Documentation directory (generated)
├── serve_docs.py # Script to serve documentation
├── train-images-idx3-ubyte.gz # MNIST training images (compressed)
├── train-labels-idx1-ubyte.gz # MNIST training labels (compressed)
├── train.c # Training program source
└── src/ # Source code for recognition interface
├── main.c
├── draw_interface.c
├── neural_net.c
├── neural_net.h
├── draw_interface.h
├── utils.c
├── utils.h
└── weights.h
Customization
Adjust neural network parameters in train.c:
#define HIDDEN_SIZE 256 // Number of hidden neurons
#define BATCH_SIZE 64 // Training batch size
#define NUM_EPOCHS 10 // Maximum training epochs
#define BASE_LR 0.1f // Initial learning rate
관련 프로젝트 살펴보기
tensorflow/tensorflow
모두를 위한 오픈소스 머신러닝 프레임워크
201,505 스타huggingface/transformers
🤗 Transformers: 텍스트, 비전, 오디오, 멀티모달 분야의 최첨단 머신러닝 모델을 위한 모델 정의 프레임워크로, 추론과 학습을 모두 지원합니다.
168,815 스타AUTOMATIC1111/stable-diffusion-webui
Stable Diffusion 웹 UI
165,289 스타Comfy-Org/ComfyUI
그래프와 노드로 구성된 인터페이스를 갖춘, 가장 강력하고 모듈성이 뛰어난 확산 모델 GUI, API, 백엔드입니다. 세계에서 가장 빠른 로컬 추론 엔진입니다.
146,271 스타