import torch import gradio as gr from transformers import AutoFeatureExtractor, AutoModelForImageClassification extractor = AutoFeatureExtractor.from_pretrained("susnato/plant_disease_detection-beans") model = AutoModelForImageClassification.from_pretrained("susnato/plant_disease_detection-beans") labels = ['angular leaf spot', 'rust', 'healthy'] def classify(im): features = extractor(im, return_tensors='pt') logits = model(features["pixel_values"])[-1] probability = torch.nn.functional.softmax(logits, dim=-1) probs = probability[0].detach().numpy() confidences = {label: float(probs[i]) for i, label in enumerate(labels)} return confidences block = gr.Blocks(theme="JohnSmith9982/small_and_pretty") with block: gr.HTML( """
""" ) with gr.Group(): with gr.Row(): gr.HTML( """
""" ) with gr.Group(): image = gr.Image(type='pil') outputs = gr.Label() button = gr.Button("Classify") button.click(classify, inputs=[image], outputs=[outputs], ) with gr.Group(): gr.Examples(["ex3.jpg"], fn=classify, inputs=[image], outputs=[outputs], cache_examples=True ) block.launch(debug=False, share=False)