import os import keras import numpy as np import gradio as gr from tensorflow.keras.applications.xception import preprocess_input model = keras.models.load_model("xception_v4_1_07_0.699.h5") classes = [ "akiec", "bcc", "bkl", "df", "mel", "nv", "vasc", ] def image_classifier(inp): x = np.array(inp) X = np.array([x]) X = preprocess_input(X) pred = model.predict(X).flatten() result = {classes[i]: float(pred[i]) for i in range(7)} return result app = gr.Interface( fn=image_classifier, inputs=gr.inputs.Image(shape=(150, 150)), outputs="label", examples=["img/"+img for img in os.listdir("img")], title="Identificador Experimental de Lesões de Pele", description="Aviso Legal: Este trabalho faz parte de um projeto educacional. Não se destina a aplicações clínicas. Portanto, não pode fazer previsões reais sobre lesões de pele. Para obter recomendações sobre lesões de pele, consulte um dermatologista ou especialista qualificado.

Repositório do código: https://github.com/bsenst/capstone1-skin-lesion-classifier

O conjunto de dados está disponível sob a licença CC BY-NC-SA 4.0 e pode ser encontrado aqui: https://www.kaggle.com/datasets/kmader/skin-cancer-mnist-ham10000

O modelo de rede neural rotula imagens usando as seguintes classes: Queratoses actínicas e carcinoma intraepitelial / doença de Bowen (akiec), carcinoma basocelular (bcc), lesões benignas semelhantes a queratose (lentigos solares / queratoses seborreicas e queratoses semelhantes ao líquen, bkl), dermatofibroma (df), melanoma (mel), nevos melanocíticos (nv) e lesões vasculares (angiomas, angiocratomas, granulomas piogênicos e hemorragia, vasc)", ) app.launch()