nevusai / nevus_ai.py
Antonio Jesu虂s Acosta Lo虂pez
Primera versi贸n a probar en el hosting de Hugging Face.
aa55e08
# Import dependencies
from keras.models import load_model
from PIL import Image, ImageOps
import numpy as np
import gradio as gr
# Definition of the main function for predictions
def predict_nevus(image):
# Load the model
model = load_model('keras_model.h5')
# Create the array of the right shape to feed into the keras model
# The 'length' or number of images you can put into the array is
# determined by the first position in the shape tuple, in this case 1.
data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32)
#turn the image into a numpy array
image_array = np.asarray(image)
# Normalize the image
normalized_image_array = (image_array.astype(np.float32) / 127.0) - 1
# Load the image into the array
data[0] = normalized_image_array
# run the inference
prediction = model.predict(data)
return {
'Melanoma': float(prediction[0][0]),
'Lunar': float(prediction[0][1])
}
# Deploy with Gradio
examples=[
['2.jpg'],
['37.jpg'],
['186.jpg']
]
iface = gr.Interface(
fn=predict_nevus,
inputs=gr.inputs.Image(shape=(224, 224)),
outputs="label",
title="Detector de melanomas",
description="Herramienta online que utiliza inteligencia artificial para detectar posibles melanomas en fotograf铆as de lunares.",
examples=examples,
allow_flagging='never',
theme="peach"
)
iface.launch(debug=True)