import gradio as gr import tensorflow as tf import numpy as np from PIL import Image import json # Carregue o modelo previamente treinado model = tf.keras.models.load_model("model.h5") # Carregue o arquivo JSON com as categorias indexadas with open("categories.json", "r") as json_file: categories_data = json.load(json_file) categories = [entry["category"] for entry in categories_data] # Crie uma função para realizar a classificação def classify_image(image): try: # Redimensione a imagem para 100x100 pixels image = Image.fromarray(image.astype('uint8')) image = image.resize((100, 100)) # Redimensione para 100x100 image = np.array(image) # Realize a classificação prediction = model.predict(image[None, ...]) # Decodifique a classe prevista class_idx = np.argmax(prediction) class_label = categories[class_idx] return class_label except Exception as e: return str(e) # Crie uma interface Gradio para carregar a imagem e exibir a classificação iface = gr.Interface( fn=classify_image, inputs=gr.inputs.Image(), # Entrada de imagem outputs="text" # Saída de texto com a classe prevista ) # Inicie a interface Gradio iface.launch()