CoolFace
Apppublic

Udzin12/MobileNetV2_EfficientNetB0

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes
App README

SIKUDI — Web App Klasifikasi Penyakit Kulit (versi Gradio, GRATIS)

Implementasi web dari notebook SIKUDI_v4.ipynb (perbandingan MobileNetV2 vs EfficientNetB0, dataset DermNet, 23 kelas), dibuat dengan Gradio supaya bisa di-hosting gratis di Hugging Face Spaces (tier CPU Basic, tanpa Docker, tanpa kartu kredit).

Alur di UI mengikuti pipeline notebook: upload gambar → preprocessing (resize 224×224, normalisasi per-model) → forward pass kedua model → argsort top-5 → tampil hasil akhir.

Struktur proyek

.
├── app.py                  # Aplikasi Gradio (UI + inferensi)
├── deploy_config.json      # class_names (GANTI dengan hasil Cell 28 notebook)
├── requirements.txt
└── models/
    ├── mobilenetv2_deploy.keras     # ⬅️ upload sendiri, hasil notebook
    └── efficientnetb0_deploy.keras  # ⬅️ upload sendiri, hasil notebook

Tidak perlu Dockerfile — Space dengan SDK Gradio otomatis tahu cara menjalankan app.py.

1. Ambil artefak dari notebook

Jalankan SIKUDI_v4.ipynb sampai selesai (training Stage 1 + Stage 2 kedua model, lalu Cell 28 "Simpan Artefak Deploy"). Di Google Drive akan muncul:

/content/drive/MyDrive/Skripsi_Fikri/deploy/
├── mobilenetv2_deploy.keras
├── efficientnetb0_deploy.keras
└── deploy_config.json

Download ketiga file itu.

2. Susun ke folder project ini

  • Timpa deploy_config.json di root dengan file asli hasil notebook.
  • Taruh kedua file .keras ke folder models/.

3. (Opsional) Tes dulu di komputer sendiri

bash
pip install -r requirements.txt
python app.py

Buka link http://127.0.0.1:7860 yang muncul di terminal. Badge di header akan berubah jadi 🟢 MODEL LIVE kalau kedua model berhasil dimuat. Kalau model belum ada, app tetap jalan dalam mode simulasi (badge kuning) — supaya UI tetap bisa dicoba.

4. Deploy gratis ke Hugging Face Spaces

  1. 1.Login ke https://huggingface.co
  2. 2.Buka https://huggingface.co/new-space
  3. 3.Isi:
  4. 4.Space name: bebas, mis. sikudi-skin-classifier
  5. 5.SDK: pilih Gradio
  6. 6.Hardware: biarkan default CPU basic · Free
  7. 7.Visibility: Public/Private sesuai kebutuhan
  8. 8.Klik Create Space.

5. Upload isi project

Cara termudah (tanpa terminal): Di halaman Space → tab FilesAdd file → Upload files → seret semua isi folder ini (termasuk isi folder models/, buat folder models dulu di uploader). Setelah upload, Space otomatis build & jalan.

Cara via Git (kalau file model besar, disarankan pakai LFS):

bash
git init
git lfs install
git lfs track "*.keras"
git add .gitattributes
git add .
git commit -m "Deploy SIKUDI (Gradio, free tier)"
git remote add origin https://huggingface.co/spaces/USERNAME/NAMA-SPACE
git push origin main

6. Selesai

Tunggu status Space berubah jadi Running (bisa dilihat progres build di tab Logs). Buka URL Space-nya — form upload gambar akan langsung tampil dan memakai model asli hasil training kamu.

Catatan

  • Space CPU Basic Free cukup untuk model sekelas MobileNetV2/EfficientNetB0 ukuran gambar 224×224 — prediksi 1 gambar biasanya beberapa detik.
  • Space gratis akan sleep otomatis kalau tidak diakses beberapa saat, dan bangun lagi (cold start ~10–30 detik) saat ada yang membuka link-nya — ini normal untuk tier gratis.
  • Jika ingin tampilan yang identik dengan sikudi_pipeline_v2.html (animasi neuron, canvas heatmap preprocessing, dsb), versi Docker + FastAPI (folder sikudi-webapp) lebih cocok, tapi tidak masuk tier Spaces gratis paling ringan (masih gratis untuk CPU, hanya beda cara deploy: Docker vs Gradio SDK). Versi Gradio ini dipilih karena paling mudah & cepat untuk di-upload tanpa perlu menulis Dockerfile/HTML sendiri.