import gradio as gr import tensorflow as tf path_to_model = "./skin_model_23_75.18.h5" model = tf.keras.models.load_model(path_to_model) labels = [ 'Acne / Rosacea', 'Actinic Keratosis / Basal Cell Carcinoma', 'Atopic Dermatitis', 'Bullous Disease', 'Cellulitis Impetigo (Bacterial Infections)', 'Eczema', 'Exanthems (Drug Eruptions)', 'Hair Loss (Alopecia)', 'Herpes HPV', 'Disorders of Pigmentation', 'Lupus ', 'Melanoma (Skin Cancer)', 'Nail Fungus', 'Poison Ivy', 'Psoriasis (Lichen Planus)', 'Scabies Lyme', 'Seborrheic Keratoses', 'Systemic Disease', 'Tinea Ringworm (Fungal Infections)', 'Urticaria Hives', 'Vascular Tumors', 'Vasculitis', 'Warts Molluscum' ] def classify_image(photos): photos = photos.reshape((-1, 224, 224, 3)) prediction = model.predict(photos).flatten() confidences = {labels[i]: float(prediction[i]) for i in range(23)} return confidences title = "IA-DERM DETECTION PFIZER" article = ( "Se propone un sistema automatizado para el diagnóstico de las 23 enfermedades comunes de la piel:\n\n" "1. Acné / Rosácea\n" "2. Queratosis Actínica / Carcinoma Basocelular\n" "3. Dermatitis Atópica\n" "4. Enfermedades Bullosas\n" "5. Celulitis / Impétigo (Infecciones Bacterianas)\n" "6. Eccema\n" "7. Exantemas (Erupciones Cutáneas por Medicamentos)\n" "8. Pérdida de Cabello (Alopecia)\n" "9. Herpes / VPH\n" "10. Trastornos de la Pigmentación\n" "11. Lupus\n" "12. Melanoma (Cáncer de Piel)\n" "13. Hongos en las Uñas\n" "14. Hiedra Venenosa\n" "15. Psoriasis (liquen plano)\n" "16. Sarna / Enfermedad de Lyme\n" "17. Queratosis Seborreica\n" "18. Enfermedad Sistémica\n" "19. Tiña / Tiña (Infecciones Fúngicas)\n" "20. Urticaria / Ronchas\n" "21. Tumores Vasculares\n" "22. Vasculitis\n" "23. Verrugas / Molusco\n\n" "Este sistema automatizado se basa en un modelo preentrenado EfficientNetB7, capaz de diagnosticar 23 enfermedades cutáneas comunes. La interfaz te permite cargar una imagen y obtener las probabilidades de cada enfermedad detectada." ) description= ( "

" "IADERM . Jeysshon Bustos . 2023." "

" "Utilizamos la interfaz de usuario generada por Gradio para ingresar imágenes a nuestra red neuronal convolucional, la cual ha sido entrenada con el propósito de realizar clasificaciones de imágenes. Esta red neuronal demostró su capacidad al lograr una precisa categorización de la imagen proporcionada. En ocasiones, resulta beneficioso ajustar el tamaño de la imagen mediante la interfaz de Gradio para potenciar aún más su rendimiento." ) examples = [ ['./123.jpg'], ['./acne-closed-comedo-2.jpg'], ['./distal-subungual-onychomycosis-86.jpg'], ['./cherry-angioma-16.jpg'], ['./malignant-melanoma-16.jpg'], ['./tinea-primary-lesion-15.jpg'], ['./congenital-nevus-35.jpg'], ['./tinea-body-137.jpg'] ] gr.Interface( fn=classify_image, title=title, article=article, description=description, inputs=gr.inputs.Image(shape=(224, 224)), outputs=gr.outputs.Label(num_top_classes=4), examples=examples ).launch()