Spaces:
Sleeping
Sleeping
File size: 1,801 Bytes
adf2111 9c07890 75fd37c f915493 08cbfae 9c07890 08cbfae 7708ef9 08cbfae 7708ef9 df12e30 f915493 df12e30 ffc1de3 7708ef9 a2419a7 c8fb571 ecd73fd bec58a3 c8fb571 0584be9 08cbfae 7708ef9 ffc1de3 0584be9 08cbfae 8d9c7cb 7708ef9 0584be9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import tensorflow as tf
from keras.utils import custom_object_scope
import gradio as gr
from PIL import Image
import numpy as np
# Defina a camada personalizada FixedDropout
class FixedDropout(tf.keras.layers.Dropout):
def __init__(self, rate, **kwargs):
super().__init__(rate, **kwargs)
self._rate = rate
def call(self, inputs):
return tf.nn.dropout(inputs, self._rate)
# Registre a camada personalizada FixedDropout com o TensorFlow
with custom_object_scope({'FixedDropout': FixedDropout}):
# 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 predicted_class
# Formate a interface Gradio com HTML
iface = gr.Interface(
fn=classify_image,
inputs=gr.inputs.Image(shape=(192, 256)),
outputs=gr.outputs.HTML("<h2>Resultado da Classificação</h2><p><strong>Categoria Predita:</strong> {}</p>"), # Saída formatada com HTML
live=True,
title="Classificador de Imagens",
description="Faça o upload de uma imagem e classifique sua categoria.",
allow_screenshot=False, # Desativar a captura de tela
allow_flagging=False, # Desativar a opção de sinalizar
)
# Inicie a interface Gradio
iface.launch()
|