Cropdisdet / app.py
Jayanthk2004's picture
Update app.py
3c2917b verified
import gradio as gr
from transformers import pipeline, AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
# Load the pre-trained model and image processor
model_name = "Diginsa/Plant-Disease-Detection-Project"
processor = AutoImageProcessor.from_pretrained(model_name)
model = AutoModelForImageClassification.from_pretrained(model_name)
# Create the prediction pipeline
pipe = pipeline("image-classification", model=model, image_processor=processor)
def predict_disease(image):
"""Predicts the plant disease based on the input image."""
predictions = pipe(image)
# Format the predictions for display
results = []
for pred in predictions:
results.append(f"{pred['label']}: {pred['score']:.4f}")
return "\n".join(results) # Return predictions as a single string
# Create the Gradio interface
iface = gr.Interface(
fn=predict_disease,
inputs=gr.Image(type="pil"), # Input is a PIL Image
outputs="text", # Output is a text string with predictions
title="Plant Disease Detection",
description="Upload an image of a plant to detect potential diseases.",
)
# Launch the Gradio interface
iface.launch()