LukasKunt
app changed
db5952a
Raw
History Blame Contribute Delete
2.03 kB
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()