import gradio as gr from transformers import pipeline from fastapi import FastAPI # Memuat model untuk klasifikasi makanan food_classifier = pipeline(task="image-classification", model="mhdiqbalpradipta/minang_food_classification") def prediksi_makanan(gambar): # Melakukan prediksi menggunakan model hasil = food_classifier(images=gambar)[0] # Menyimpan label dan skor label_makanan = hasil['label'] skor = hasil['score'] return f"Makanan: {label_makanan}, Skor: {skor:.2f}" # Antarmuka Gradio image_in = gr.Image(type='pil') label_out = "text" contoh_gambar = ['ayam_goreng.jpg', 'ayam_pop.jpg', 'daging_rendang.jpg', 'dendeng_batokok.jpg', 'gulai_ikan.jpg', 'gulai_tambusu.jpg', 'gulai_tunjang.jpg', 'telur_balado.jpg', 'telur_dadar.jpg'] intf = gr.Interface(fn=prediksi_makanan, inputs=image_in, outputs=label_out, examples=contoh_gambar, title="Pengklasifikasi Makanan Minang", description="Unggah gambar makanan untuk mengklasifikasikannya menjadi hidangan Minang.") # if __name__ == "__main__": app = FastAPI() @app.get('/') async def root(): return 'Gradio app is running at /gradio', 200 app = gr.mount_gradio_app(app, intf, path='/gradio') # intf.launch(share=False)