Addai's picture
Update app.py
66ca70e
raw
history blame
1.83 kB
import gradio as gr
from fastai.vision.all import *
import skimage
learn = load_learner('export.pkl')
labels = learn.dls.vocab
def predict(img):
img = PILImage.create(img)
pred,pred_idx,probs = learn.predict(img)
prediction = str(pred)
# Provide explanation based on the prediction
if pred == "cancer_positive":
explanation = "The model predicts that the image shows signs of cancer."
elif pred == "cancer_negative":
explanation = "The model predicts that the image does not show signs of cancer."
elif pred == "implant_cancer_positive":
explanation = "The model predicts that the image shows signs of implant-related cancer."
elif pred == "implant_cancer_negative":
explanation = "The model predicts that the image does not show signs of implant-related cancer."
else:
explanation = "Unknown prediction."
return prediction, explanation
# Create the Gradio interface
inputs = gr.inputs.Image(label="Upload an image")
outputs = [
gr.outputs.Textbox(label="Prediction"),
gr.outputs.Textbox(label="Explanation")
]
title = "Breast cancer detection with AI(Deep Transfer Learning)"
description = "<p style='text-align: center'><b>As a radiologist or oncologist, it is crucial to know what is wrong with a breast x-ray image.<b><br><b>Upload the breast X-ray image to know what is wrong with a patients breast with or without inplant<b><p>"
article="<p style='text-align: center'>Web app is built and managed by Addai Fosberg<b></p>"
examples = ['img1.jpeg', 'img2.jpeg']
#interpretation='default'
enable_queue=True
gr.Interface(fn=predict,inputs=gr.inputs.Image(shape=(512, 512)),outputs=gr.outputs.Label(num_top_classes=3),title=title,description=description,article=article,examples=examples,enable_queue=enable_queue).launch()