adikti.com
MNIST Rakam Tanıma

MNIST Rakam Tanıma

Java DJL ve PyTorch ile eğitilmiş CNN modeli kullanarak el yazısı rakam tanıma. ONNX Runtime Web ile tamamen tarayıcıda çalışan interaktif demo.

Projeyi Ziyaret Et
JavaDJLPyTorchONNXReactMachine Learning
mnist-demo

Dene

Tarayıcında doğrudan test edebilirsin, backend gerektirmiyor.

Demoyu Aç

Nasıl Çalışıyor?

Model Java ekosisteminde DJL (Deep Java Library) ve PyTorch backend kullanılarak 60.000 MNIST eğitim görüntüsü üzerinde eğitildi. Eğitim sonrası ONNX formatına export edildi (1.6MB). Demo tamamen tarayıcıda ONNX Runtime Web (WebAssembly) ile çalışıyor, backend gerektirmiyor.

Preprocessing adımları

  1. Canvas’tan 280x280 piksel ham görüntü alınıyor
  2. Bounding box ile çizim kırpılıyor
  3. 20x20 piksele resize ediliyor
  4. 28x28 canvas’ın ortasına yerleştiriliyor (MNIST formatı)
  5. Normalize ediliyor (mean=0.1307, std=0.3081)
  6. [1,1,28,28] tensor olarak modele veriliyor
  7. Softmax ile olasılık dağılımı hesaplanıyor

Model Mimarisi

  • 2 Convolutional katman (32 ve 64 filtre)
  • Max pooling ve dropout
  • 2 Fully connected katman
  • Softmax çıkışı (0-9 arası 10 sınıf)