Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import yolov5 | |
| # Load models | |
| model_paths = { | |
| "YOLOv5 Large 640p": "weights/megafishdetector_v0_yolov5l_640p.pt", | |
| "YOLOv5 Medium 1280p": "weights/megafishdetector_v0_yolov5m_1280p.pt", | |
| "YOLOv5 Small 640p": "weights/megafishdetector_v0_yolov5s_640p.pt", | |
| } | |
| models = {name: yolov5.load(path) for name, path in model_paths.items()} | |
| def detect_objects(image, model_name): | |
| model = models[model_name] | |
| results = model(image) | |
| return results.render()[0] | |
| # Gradio interface | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# megafishdetector") | |
| with gr.Row(): | |
| with gr.Column(): | |
| image_input = gr.Image(type="numpy") | |
| model_selector = gr.Dropdown( | |
| choices=list(model_paths.keys()), label="Select Model" | |
| ) | |
| submit_button = gr.Button("Submit") | |
| with gr.Column(): | |
| image_output = gr.Image(type="numpy") | |
| submit_button.click( | |
| fn=detect_objects, inputs=[image_input, model_selector], outputs=image_output | |
| ) | |
| demo.launch() | |