|
import gradio as gr |
|
from huggingface_hub import InferenceAPI |
|
|
|
|
|
model_repo = "jdelgado2002/diabetic_retinopathy_detection" |
|
|
|
|
|
api = InferenceAPI(model_repo) |
|
|
|
labels = ["No DR", "Mild", "Moderate", "Severe", "Proliferative DR"] |
|
|
|
def predict(img): |
|
|
|
img_str = gr.inputs.Image.to_base64(img, ext="jpeg") |
|
|
|
|
|
inputs = {"inputs": img_str} |
|
result = api(inputs) |
|
|
|
|
|
return {labels[i]: float(result[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() |