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() |