File size: 1,387 Bytes
546f352
0bda39c
 
546f352
1587eea
 
 
 
 
 
 
 
 
 
 
 
 
 
c10710a
 
546f352
 
c10710a
 
 
546f352
 
7669f3a
546f352
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7669f3a
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
43
44
import gradio as gr
from fastai.vision.all import *
import skimage

train_path = Path("/kaggle/input/aptos2019/train_images")
test_path = Path("/kaggle/input/aptos2019/test_images")
train_df = pd.read_csv("/kaggle/input/aptos2019/train_1.csv")

def get_x(r):
    filename = f"{r['id_code']}.png"
    file_path = train_path / filename
    if os.path.exists(file_path):
        return str(file_path)
    else:
        return "/kaggle/input/aptos2019/train_images/train_images/1ae8c165fd53.png"
        
def get_y(r): return r['diagnosis']

learn = load_learner('model.pkl')
labels = learn.dls.vocab

def predict(img):
    img = PILImage.create(img)
    pred,pred_idx,probs = learn.predict(img)
    return {labels[i]: float(probs[i]) for i in range(len(labels))}

title = "Proliferative Retinopathy Detection"
description = """Detects severity of diabetic retinopathy -

    0 - No DR

    1 - Mild

    2 - Moderate

    3 - Severe

    4 - Proliferative DR
"""
article="<p style='text-align: center'><a href='https://www.kaggle.com/code/josemauriciodelgado/proliferative-retinopathy' target='_blank'>Notebook</a></p>"
interpretation='default'
enable_queue=True

gr.Interface(fn=predict,inputs=gr.inputs.Image(shape=(512, 512)),outputs=gr.outputs.Label(num_top_classes=6),title=title,description=description,article=article,interpretation=interpretation,enable_queue=enable_queue).launch()