Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import numpy as np | |
| import json | |
| from huggingface_hub import hf_hub_download | |
| from tensorflow import keras | |
| # Descargar y cargar el modelo | |
| model_path = hf_hub_download( | |
| repo_id="Rakesh007n/Leaf-Classification-for-plant-species", | |
| filename="leaf_species_model_epoch_2.keras" | |
| ) | |
| model = keras.models.load_model(model_path) | |
| # Traducción de las etiquetas al español | |
| labels = [ | |
| "Manzano_Moho_negro", | |
| "Manzano_Roya_del_cedro", | |
| "Manzano_Oídio", | |
| "Manzano_Saludable", | |
| "Manzano_Antracnosis", | |
| "Cerezo_(incluyendo_agrios)_Oídio", | |
| "Cerezo_(incluyendo_agrios)_Saludable", | |
| "Maíz_(maíz)_Mancha_gris_de_Cercospora", | |
| "Maíz_(maíz)_Roya_común", | |
| "Maíz_(maíz)_Tizon_norteño", | |
| "Maíz_(maíz)_Saludable", | |
| "Algodón_Hoja_enferma", | |
| "Algodón_Hoja_fresca", | |
| "Uva_Moho_negro", | |
| "Uva_Esca_(Manchas_negras)", | |
| "Uva_Tizon_de_hoja_(Isariopsis)", | |
| "Uva_Saludable", | |
| "Naranja_Huanglongbing_(Greening_cítrico)", | |
| "Naranja_Moho_negro", | |
| "Naranja_Canker", | |
| "Naranja_Saludable", | |
| "Durazno_Mancha_bacteriana", | |
| "Durazno_Saludable", | |
| "Pimiento_campana_Mancha_bacteriana", | |
| "Pimiento_campana_Saludable", | |
| "Papa_Tizon_temprano", | |
| "Papa_Tizon_tardío", | |
| "Papa_Saludable", | |
| "Calabaza_Oídio", | |
| "Frutilla_Escaldadura_hoja", | |
| "Frutilla_Saludable", | |
| "Tomate_Mancha_bacteriana", | |
| "Tomate_Tizon_temprano", | |
| "Tomate_Tizon_tardío", | |
| "Tomate_Moho_de_hoja", | |
| "Tomate_Septoria", | |
| "Tomate_Acaros_(Ácaro_2_manchas)", | |
| "Tomate_Mancha_objetivo", | |
| "Tomate_Virus_enrollado_amarillo", | |
| "Tomate_Virus_mosaico", | |
| "Tomate_Saludable", | |
| "Trigo_Saludable", | |
| "Trigo_Roya_hoja", | |
| "Trigo_Deficiencia_nitrógeno" | |
| ] | |
| def predict(img): | |
| img = img.resize((96, 96)) | |
| arr = np.array(img) / 255.0 | |
| arr = np.expand_dims(arr, 0) | |
| preds = model.predict(arr)[0] | |
| return {labels[i]: float(preds[i]) for i in range(len(labels))} | |
| with gr.Blocks() as demo: | |
| gr.Markdown("Clasificador de enfermedades del cultivo ") | |
| gr.Markdown("Sube una imagen de una hoja de los siguientes Cultivos para detectar posibles enfermedades:manzano,cerezo,maíz,algodón,uva,naranja,durazno,morrón,papa,calabaza,frutilla,tomate,trigo"), | |
| gr.HTML(""" <a href="http://localhost:8081/enfMulticultivos" target="_blank"> Mostrar Enfermedades</a>""") | |
| with gr.Row(): | |
| inp = gr.Image(type="pil", label="Subí una imagen") | |
| out = gr.Label(label="Predicción") | |
| btn = gr.Button("Predecir") | |
| btn.click(fn=predict, inputs=inp, outputs=out) | |
| demo.launch( server_name="0.0.0.0",server_port=7860,share=False) | |