from fastai.vision.all import * import gradio as gr learn = load_learner('export.pkl') learn2 = load_learner('export_cancer_type.pkl') categories = ('Benign', 'Malignant') categories2 = ( "Actinic Keratosis", "Basal Cell Carcinoma", "Dermatofibroma", "Melanoma", "Nevus", "Pigmented Benign Keratosis", "Seborrheic Keratosis", "Squamous Cell Carcinoma", "Vascular Lesion", ) def classify_image(img): pred,idx,probs = learn.predict(img) pred2,idx2,probs2 = learn2.predict(img) return dict(zip(categories, map(float,probs))), dict(zip(categories2, map(float,probs2))) image = gr.inputs.Image(shape=(192,192)) label = gr.outputs.Label() label2 = gr.outputs.Label() examples = ['Benign1.jpg','Benign2.jpg','Benign3.jpg', 'Malignant1.jpg', 'Malignant2.jpg', 'Malignant3.jpg', "melanoma.jpg", "actinic keratosis.jpg", "squamous cell carcinoma.jpg"] title = 'Skin Cancer Predictor' description = 'This app predicts 1) whether skin cancer is benign or malignant and 2) what type of skin cancer it is. For reference only.' article = "Author: Archie Tram. " intf = gr.Interface(fn=classify_image, inputs=image, outputs=[label,label2], examples=examples) intf.launch(inline=False)