Spaces:
Sleeping
Sleeping
import gradio as gr | |
import numpy as np | |
from PIL import Image | |
import tensorflow as tf | |
modelo = tf.keras.models.load_model("./pizza_vs_steak_gdct_intento1.keras") | |
# prompt: usando gradio, generar una interfaz para subir una imagen | |
import numpy as np | |
def predict_image(img): | |
img = Image.fromarray(img.astype('uint8')) # Pillow detecta modo automáticamente | |
img = img.resize((224, 224)) # Ahora coincide con lo que tu modelo espera | |
img_array = np.array(img) / 1.0 # Normaliza | |
img_array = np.expand_dims(img_array, axis=0) # Batch dimension | |
prediction = modelo.predict(img_array) | |
if prediction[0] > 0.5: | |
return "Steak" | |
else: | |
return "Pizza" | |
# def predict_image(img): | |
# img = Image.fromarray(img.astype('uint8'), 'RGB') # Ensure image is in correct format | |
# img = img.resize((128, 128)) # Resize to model input size | |
# img_array = np.array(img) / 255.0 # Normalize | |
# img_array = np.expand_dims(img_array, axis=0) # Add batch dimension | |
# prediction = modelo.predict(img_array) | |
# print(prediction) | |
# # Assuming the model outputs a single value probability for one class (e.g., steak) | |
# # You might need to adjust this based on your model's output layer | |
# if prediction[0] > 0.5: | |
# return "Steak" | |
# else: | |
# return "Pizza" | |
iface = gr.Interface(fn=predict_image, inputs="image", outputs="text", title="Pizza vs Steak Classifier") | |
iface.launch() |