File size: 1,716 Bytes
199a42a
191f9fb
199a42a
2df657b
199a42a
191f9fb
5b27df7
191f9fb
 
 
 
 
 
 
 
 
 
 
 
 
5b27df7
199a42a
191f9fb
 
 
 
 
 
 
 
 
2df657b
191f9fb
 
 
 
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
import gradio as gr
import tensorflow as tf

path_to_model = "./model_2.h5"

model = tf.keras.models.load_model(path_to_model)

labels = ['Acne and Rosacea Photos',
                  'Actinic Keratosis Basal Cell Carcinoma and other Malignant Lesions', 
                  'Atopic Dermatitis Photos', 'Bullous Disease Photos', 
                  'Cellulitis Impetigo and other Bacterial Infections', 
                  'Eczema Photos', 'Exanthems and Drug Eruptions', 'Hair Loss Photos Alopecia and other Hair Diseases', 
                  'Herpes HPV and other STDs Photos', 'Light Diseases and Disorders of Pigmentation', 
                  'Lupus and other Connective Tissue diseases',
                  'Melanoma Skin Cancer Nevi and Moles', 'Nail Fungus and other Nail Disease', 
                  'Poison Ivy Photos and other Contact Dermatitis', 
                  'Psoriasis pictures Lichen Planus and related diseases', 'Scabies Lyme Disease and other Infestations and Bites', 
                  'Seborrheic Keratoses and other Benign Tumors', 'Systemic Disease', 
                  'Tinea Ringworm Candidiasis and other Fungal Infections', 
                  'Urticaria Hives', 'Vascular Tumors', 'Vasculitis Photos', 'Warts Molluscum and other Viral Infections']

def classify_image(inp):
  inp = inp.reshape((-1, 256, 256, 3))
  prediction = model.predict(inp).flatten()
  confidences = {labels[i]: float(prediction[i]) for i in range(23)}
  return confidences
 
  
gr.Interface(fn=classify_image, 
             inputs=gr.inputs.Image(shape=(256, 256)),
             outputs=gr.outputs.Label(num_top_classes=3),
             examples=["./123.jpg", "./distal-subungual-onychomycosis-86.jpg"]).launch()