CoolFace
Apppublic

kypli/lsd-sapi-api

sourceHugging Facecc-by-4.0updated 20d agoView on Hugging Face
0likes
App README

Backend Klasifikasi Penyakit Sapi (FastAPI)

Repositori ini berisi backend API untuk sistem klasifikasi penyakit sapi menggunakan model MobileNetV3Large yang dilatih dengan Keras/TensorFlow. API ini dideploy ke Hugging Face Spaces menggunakan Docker SDK.

Fitur Utama

  • Memuat Model Secara Aman: Backend akan mencoba memuat model Keras (.keras). Jika tidak ada, backend akan memeriksa model TFLite (.tflite) sebagai alternatif.
  • Toleran Terhadap Model yang Belum Diunggah: Jika model belum ada, API tetap berjalan (agar tidak mengalami kegagalan boot di Hugging Face Spaces), tetapi endpoint /predict akan merespons dengan instruksi untuk mengunggah model.
  • Preprocessing Presisi: Melakukan resizing dengan teknik padding (resize_with_pad 224x224) menggunakan TensorFlow sehingga identik dengan pipeline evaluasi model saat training.
  • CORS Diaktifkan: Siap diakses oleh frontend eksternal (seperti yang dideploy di Vercel).

Cara Deploy ke Hugging Face Spaces

  1. 1.Buat Space baru di Hugging Face (https://huggingface.co/new-space).
  2. 2.Tentukan nama Space Anda (misalnya lsd-sapi-api).
  3. 3.Pilih SDK Docker (jangan gunakan Streamlit/Gradio).
  4. 4.Pilih template Docker Blank.
  5. 5.Setelah Space dibuat, unggah berkas berikut ke repositori Space tersebut:
  6. 6.Dockerfile
  7. 7.main.py
  8. 8.requirements.txt
  9. 9.class_names.json
  10. 10.Jalankan training notebook di Google Colab. Setelah selesai, unduh hasil ZIP, lalu unggah berkas berikut ke Space:
  11. 11.cattle_disease_mobilenetv3.keras (atau cattle_disease_mobilenetv3.tflite)
  12. 12.Hugging Face akan membangun Docker container secara otomatis. Setelah statusnya menjadi Running, API Anda siap digunakan!

Endpoint API Utama

  • GET `/`: Informasi status API, kesiapan model, dan kelas klasifikasi.
  • GET `/health`: Pemeriksaan kesehatan server.
  • POST `/predict`: Menerima input gambar (multipart form-data dengan nama field file) dan mengembalikan hasil probabilitas ketiga kelas.

Catatan Praktikum: Backend ini ditujukan untuk penyaringan awal dan tidak menggantikan diagnosis dokter hewan resmi.