File size: 1,832 Bytes
fb19eaf
 
 
 
 
 
 
 
 
 
66ca70e
ae9c6b8
 
 
 
08be317
ae9c6b8
08be317
 
 
 
 
 
ae9c6b8
 
 
 
 
 
 
 
 
 
fb19eaf
 
fe324b2
d1be95e
a860168
fb19eaf
 
 
 
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
38
39
40
41
42
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()