import tensorflow as tf import gradio as gr from PIL import Image, ImageDraw # Carregue o modelo loaded_model = tf.keras.models.load_model('modelo_treinado.h5') # Crie uma lista de classes class_names = ["Normal", "Cataract"] # Defina a função de classificação def classify_image(inp): # Redimensione a imagem para o formato esperado pelo modelo (192x256) img = Image.fromarray(inp).resize((256, 192)) # Converta a imagem para um array numpy e normalize-a (escala de 0 a 1) img = np.array(img) / 255.0 # Faça uma previsão usando o modelo treinado prediction = loaded_model.predict(np.expand_dims(img, axis=0)).flatten() # Obtém a classe prevista predicted_class = class_names[np.argmax(prediction)] return inp, predicted_class # Crie uma interface Gradio iface = gr.Interface( fn=classify_image, inputs=gr.inputs.Image(shape=(192, 256)), outputs=[gr.outputs.Image(type="numpy"), "label"], ) # Inicie a interface Gradio iface.launch(debug=True)