Udzin12/MobileNetV2_EfficientNetB0
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 notebookTidak 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.jsonDownload ketiga file itu.
2. Susun ke folder project ini
- Timpa
deploy_config.jsondi root dengan file asli hasil notebook. - Taruh kedua file
.keraske foldermodels/.
3. (Opsional) Tes dulu di komputer sendiri
pip install -r requirements.txt
python app.pyBuka 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
- Login ke https://huggingface.co
- Buka https://huggingface.co/new-space
- Isi:
- Space name: bebas, mis.
sikudi-skin-classifier - SDK: pilih Gradio
- Hardware: biarkan default CPU basic · Free
- Visibility: Public/Private sesuai kebutuhan
- Klik Create Space.
5. Upload isi project
Cara termudah (tanpa terminal): Di halaman Space → tab Files → Add 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):
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 main6. 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 (foldersikudi-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.
