Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 2.35 KB

File metadata and controls

41 lines (31 loc) · 2.35 KB

TensorFlow MNIST Experiments: From Single to Multi-Digit Recognition

Repositori ini berisi kumpulan eksperimen Deep Learning menggunakan TensorFlow dan Keras. Proyek ini mendemonstrasikan evolusi arsitektur Neural Network, dimulai dari pengenalan angka tunggal dasar hingga pengenalan urutan angka (multi-digit) menggunakan teknik Synthetic Data Generation dan Multi-Output Models.

Struktur Proyek

Repositori ini terdiri dari tiga skrip utama yang menunjukkan peningkatan kompleksitas model:

1. Dasar: image_recognition1.py

Single Digit Recognition (MNIST Original) Program ini adalah implementasi dasar klasifikasi gambar menggunakan dataset MNIST standar.

  • Data: Gambar tunggal 28x28 piksel (0-9).
  • Arsitektur: Simple Feed-Forward Neural Network (Flatten -> Dense Layer).
  • Tujuan: Memahami preprocessing data, normalisasi, dan penggunaan layer Dense standar.
  • Output: Probabilitas 10 kelas (angka 0-9).

2. Menengah: image_recognition2.py

Two-Digit Recognition (Synthetic Dataset) Program ini menggabungkan dua gambar MNIST secara horizontal untuk melatih model mengenali angka puluhan (00-99).

  • Data: Dataset sintetis buatan sendiri (gabungan 2 gambar, ukuran 28x56 piksel).
  • Arsitektur: Convolutional Neural Network (CNN) Sequential.
  • Metode Klasifikasi: Menganggap setiap kombinasi dua digit sebagai satu kelas unik (Total 100 kelas, dari label 0 hingga 99).
  • Fitur Utama: Penggunaan Conv2D, MaxPooling, dan generator dataset kustom.

3. Lanjut: image_recognition3.py

Three-Digit Recognition (Multi-Output Model) Program ini menggabungkan tiga gambar MNIST (misal: "459") dan menggunakan pendekatan arsitektur yang lebih efisien dengan Keras Functional API.

  • Data: Dataset sintetis (gabungan 3 gambar, ukuran 28x84 piksel).
  • Arsitektur: CNN dengan Branching Outputs (Multi-head).
  • Metode Klasifikasi: Alih-alih membuat 1000 kelas (000-999), model memecah prediksi menjadi 3 output terpisah di mana setiap output memprediksi digitnya masing-masing (Digit 1, Digit 2, Digit 3).
  • Fitur Utama: Functional API, Multi-loss training, dan efisiensi parameter dibandingkan pendekatan "1000 kelas".

🛠️ Prasyarat & Instalasi

Pastikan Anda telah menginstal Python dan pustaka yang diperlukan.

Install Dependencies:

pip install tensorflow numpy matplotlib