import gradio as gr
from transformers import pipeline

pipeline = pipeline("image-classification", model="jhoppanne/SkinCancerClassifier_smote-V0")

def predict(input_img):
    pred = pipeline(input_img)
    labels = ['Benign','Indeterminate','Malignant']
    label_id = int(pred[0]['label'])
    label = labels[label_id]
    score = pred[0]['score']
    answer = f'We predict that you have {label} type of skin cancer,\nwith confidence score of : {score*100:.2f}%'
    return answer

gradio_app = gr.Interface(
    predict,
    inputs=gr.Image(label="Input Skin Image", sources=['upload', 'webcam'], type="pil"),
    outputs="text",
    title="How severe is my Skin Cancer?",
)

if __name__ == "__main__":
    gradio_app.launch()