Spaces:
Sleeping
Sleeping
File size: 1,250 Bytes
adf2111 7ebdd96 75fd37c 08cbfae 7ebdd96 08cbfae 7708ef9 08cbfae 7708ef9 08cbfae 7708ef9 c8fb571 7708ef9 c8fb571 7708ef9 08cbfae 7708ef9 08cbfae 8d9c7cb 7708ef9 |
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 |
import tensorflow as tf
from keras.utils import custom_object_scope
import gradio as gr
# 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):
# Reshape a imagem de entrada para o formato esperado pelo modelo
img = inp.reshape((-1, 224, 224, 3))
# Faça uma previsão usando o modelo treinado
prediction = loaded_model.predict(img).flatten()
# Retorna a classe prevista
return class_names[np.argmax(prediction)]
# Crie uma interface Gradio
iface = gr.Interface(
fn=classify_image,
inputs=gr.inputs.Image(shape=(224, 224)),
outputs=gr.outputs.Label(),
capture_session=True
)
# Inicie a interface Gradio
iface.launch(debug=True, share=True)
|