File size: 978 Bytes
1867c2e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import gradio as gr
from PIL import Image
from transformers import ViTFeatureExtractor, ViTForImageClassification

# Load the model and feature extractor
feature_extractor = ViTFeatureExtractor.from_pretrained('wambugu1738/crop_leaf_diseases_vit')
model = ViTForImageClassification.from_pretrained('wambugu1738/crop_leaf_diseases_vit')

# Define prediction function
def predict(image):
    image = Image.fromarray(image)  # Convert image from numpy array to PIL Image
    inputs = feature_extractor(images=image, return_tensors="pt")
    outputs = model(**inputs)
    logits = outputs.logits
    predicted_class_idx = logits.argmax(-1).item()
    return model.config.id2label[predicted_class_idx]

# Create Gradio interface
iface = gr.Interface(
    fn=predict,
    inputs=gr.inputs.Image(type="numpy"),  # Input type as a numpy array
    outputs="text",
    title="Crop Disease Detection",
    description="Upload an image of a crop leaf to detect diseases."
)

iface.launch()