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( """

Hackefest 2024-PLANT DISEASE DETECTION

""" ) with gr.Group(): with gr.Row(): gr.HTML( """

Plant disease detection is a crucial task in agriculture to ensure the health and yield of crops. With advancements in technology, particularly in the field of computer vision and machine learning, automated systems have been developed to identify and diagnose plant diseases accurately and efficiently. These systems typically involve capturing images of plants and analyzing them using algorithms to detect symptoms of diseases such as discoloration, lesions, or abnormal growth patterns. By leveraging such technologies, farmers can promptly identify and treat diseased plants, thereby minimizing crop loss and increasing agricultural productivity

""" ) with gr.Group(): with gr.Row(): gr.HTML( """

Our Approach

""" ) 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)