|
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() |