MLMulticultivos / app.py
monabarreiro's picture
Update app.py
8affc9a verified
Raw
History Blame Contribute Delete
2.62 kB
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)