Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import tensorflow as tf | |
| import numpy as np | |
| from PIL import Image | |
| # Carregar o modelo | |
| print("Carregando o modelo...") | |
| try: | |
| model = tf.keras.models.load_model("cnn_model.h5") | |
| print("Modelo carregado com sucesso.") | |
| except Exception as e: | |
| print(f"Erro ao carregar o modelo: {e}") | |
| # Função de predição | |
| def predict(image): | |
| print("Imagem recebida.") # Diagnóstico | |
| if image is None: | |
| print("Nenhuma imagem recebida.") | |
| return "Erro: Nenhuma imagem foi recebida." | |
| try: | |
| # Ajuste o tamanho da imagem conforme necessário | |
| image = image.resize((32, 32)) | |
| image = np.array(image) / 255.0 # Normaliza a imagem | |
| image = np.expand_dims(image, axis=0) # Expande as dimensões para o formato adequado | |
| print("Imagem processada para predição.") # Diagnóstico | |
| # Realiza a predição | |
| prediction = model.predict(image) | |
| print(f"Predição realizada: {prediction}") # Diagnóstico | |
| # Para classificação, pegamos a classe com maior probabilidade | |
| class_prediction = np.argmax(prediction, axis=-1) | |
| return class_prediction | |
| except Exception as e: | |
| print(f"Erro durante a predição: {e}") | |
| return f"Erro: {e}" | |
| # Usando iface para definir a interface | |
| iface = gr.Interface(fn=predict, inputs=gr.Image(type="pil"), outputs=gr.Label()) | |
| # Lançando a interface | |
| print("Lançando a interface...") | |
| iface.launch() | |