Spaces:
Build error
Build error
from PIL import Image, ImageFont, ImageDraw, ImageEnhance | |
import gradio as gr | |
from copy import deepcopy | |
from pathlib import Path | |
import torch | |
from mt.inference import Inference | |
ckpt = 'yolo_small.ckpt' | |
inference = Inference() | |
inference.load_yolov5(ckpt=ckpt) | |
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') | |
def predict(img): | |
inference.predict(img, nms_iou_threshold=0.3) | |
d = inference.draw_img() | |
d.save('foo.png', format='png') | |
return d | |
def change_model(model_name): | |
if model_name == 'Fast': | |
inference.load_yolov5(ckpt='yolo_small.ckpt', backbone='small_p6') | |
if model_name == 'Normal': | |
inference.load_yolov5(ckpt='yolo_medium.ckpt', backbone='medium_p6') | |
if model_name == 'Slow': | |
inference.load_yolov5(ckpt=ckpt, backbone='large_p6') | |
inference.model.to(device) | |
def change_confidence(confidence): | |
return inference.set_confidence(confidence, redraw=True) | |
with gr.Blocks() as app: | |
with gr.Row(): | |
inputs = gr.Image(type='pil', label='Input bitewing image') | |
outputs = gr.Image(type='pil', label='Processed bitewing image') | |
examples = gr.Examples( | |
# [['samples/1.png'],['samples/2.png'],['samples/3.png'],['samples/4.png'], | |
# ['samples/5.png'], ['samples/6.png'], ['samples/7.png'], ['samples/8.png']], | |
[['35.png'], ['2.png'], ['3.png'], ['4.png'], | |
['17.png'], ['27.png'], ['30.png'], ['1.png']], | |
# 'samples/9.png','samples/10.png', 'samples/11.png', ['samples/12.png']], | |
inputs=inputs, outputs=outputs, label='Gallery of examples') | |
inputs.change(predict, inputs, outputs) | |
slider_input = gr.Slider(minimum=0.05, maximum=1, value=0.1, label='Prediction Threshold') | |
slider_input.change(change_confidence, inputs=slider_input, outputs=outputs) | |
dropdown = gr.Dropdown(['Fast', 'Normal'], value='Normal', label='Choose a model type') | |
dropdown.change(change_model, inputs=dropdown, outputs=outputs) | |
if __name__ == '__main__': | |
app.launch() | |