fernandobarranco's picture
Update app.py
292a08b
import io
import base64
import requests
import numpy as np
import gradio as gr
from PIL import Image
from io import BytesIO
def image_classifier(image, api_key):
# Lectura de imagen a ser predicha
buffered = io.BytesIO()
image = Image.fromarray(np.uint8(image))
image = image.convert("RGB")
image.save(buffered, quality=90, format="JPEG")
img_str = base64.b64encode(buffered.getvalue())
img_str = img_str.decode("ascii")
# Llamada a la API del modelo entrenado sin el uso de imágenes generadas artificialmente
headers = {'Content-Type': 'application/json', 'accept': 'application/json'}
r = requests.post(f'https://classify.roboflow.com/clasificacion-sin-regularizacion/1?api_key={api_key}',
data=img_str,
headers=headers)
preds = r.json()
# Formato de predicciones para ser visualizadas con la interfaz de gradio
output = {x:round(float(y['confidence']), 3) for x,y in preds['predictions'].items()}
return output
demo = gr.Interface(fn=image_classifier, inputs=["image", "text"], outputs="label")
demo.launch(debug=True)