riabayonaor's picture
Update app.py
a1eeb93 verified
import gradio as gr
import requests
# Define una variable global para almacenar la etiqueta predicha
predicted_label = ""
def predict(image):
global predicted_label
# URL del modelo en Hugging Face
url = "https://api-inference.huggingface.co/models/riabayonaor/modelo_prediccion_enfermedades_pepinos"
# Encabezados para la solicitud
headers = {
"Authorization": "Bearer hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
# Crear un objeto de archivo para la imagen
files = {"file": image}
# Hacer la solicitud POST al modelo
response = requests.post(url, headers=headers, files=files)
# Comprobar el estado de la respuesta
if response.status_code == 200:
result = response.json()
# Suponiendo que el resultado es una lista de etiquetas con probabilidades
labels = [item['label'] for item in result] # Extrae solo las etiquetas
formatted_labels = ", ".join(labels) # Formatea las etiquetas como una cadena
predicted_label = formatted_labels # Guarda la etiqueta en la variable global
return formatted_labels
else:
return "Error en la predicción"
# Carga el modelo en Gradio y define la interfaz personalizada
interface = gr.Interface(
fn=predict,
inputs=gr.Image(type="file", label="Subir una imagen"),
outputs=gr.Textbox(label="Etiquetas predichas")
)
# Lanza la interfaz
interface.launch()