| import gradio as gr | |
| from model import predict | |
| from io import BytesIO | |
| def predict_image(image, model_type): | |
| """ | |
| image: PIL Image | |
| model_type: 'variety' or 'disease' | |
| """ | |
| buf = BytesIO() | |
| image.save(buf, format="PNG") | |
| image_bytes = buf.getvalue() | |
| return predict(image_bytes, model_type=model_type) | |
| gr.Interface( | |
| fn=predict_image, | |
| inputs=[ | |
| gr.Image(type="pil", label="Upload Banana Image"), | |
| gr.Radio( | |
| choices=["variety", "disease"], | |
| value="variety", | |
| label="Select Model" | |
| ) | |
| ], | |
| outputs=gr.JSON(label="Prediction Result"), | |
| ).launch() | |