YoLoX / app.py
imkaushalpatel's picture
Create app.py
1caaa13
import numpy as np
from keras_cv_attention_models.yolox import * # import all yolox model
from keras_cv_attention_models.coco import data
import matplotlib.pyplot as plt
import gradio as gr
# semua yolox model
choices = ["YOLOXNano", "YOLOXTiny", "YOLOXS", "YOLOXM", "YOLOXL", "YOLOXX"]
def main(input_img, models):
#
fig, ax = plt.subplots() # pakai ini,jika tidak akan muncul error
# YOLOXNano models
if models == "YOLOXNano":
model = YOLOXNano(pretrained="coco")
# YOLOXTiny models
elif models == "YOLOXTiny":
model = YOLOXTiny(pretrained="coco")
# YOLOXS models
elif models == "YOLOXS":
model = YOLOXS(pretrained="coco")
# YOLOXM models
elif models == "YOLOXM":
model = YOLOXM(pretrained="coco")
# YOLOXL models
elif models == "YOLOXL":
model = YOLOXL(pretrained="coco")
# YOLOXX models
elif models == "YOLOXX":
model = YOLOXX(pretrained="coco")
# pass
else:
pass
# image pre processing yolox
preds = model(model.preprocess_input(input_img))
bboxs, lables, confidences = model.decode_predictions(preds)[0]
data.show_image_with_bboxes(input_img, bboxs, lables, confidences, num_classes=100,label_font_size=17, ax=ax)
return fig
# define params
input = [gr.inputs.Image(shape=(2000, 1500),label = "Input Image"),
gr.inputs.Dropdown(choices= choices, type="value", default='YOLOXS', label="Model")]
output = gr.outputs.Image(type="plot", label="Output Image")
title = "YoLoX Demo"
description = "Demo for YOLOX(Object Detection). Models are YOLOXNano - YOLOXX"
# deploy
iface = gr.Interface(main,
inputs = input,
outputs = output,
title = title,
article = article,
description = description,
theme = "dark")
iface.launch(debug = True)