Spaces:
Sleeping
Sleeping
| import torch | |
| import gradio as gr | |
| from PIL import Image | |
| import io | |
| # Load the YOLOv5 model | |
| model = torch.hub.load('ultralytics/yolov5', 'custom', path='fire.pt') # Load custom model | |
| def detect_objects(image): | |
| # Run the YOLOv5 model | |
| results = model(image) | |
| # Save the results image | |
| results_image = results.render()[0] # Render returns a list, we take the first element | |
| # Convert the numpy array result to an image | |
| results_image = Image.fromarray(results_image) | |
| # Save to a buffer | |
| buf = io.BytesIO() | |
| results_image.save(buf, format='JPEG') | |
| byte_im = buf.getvalue() | |
| return results_image | |
| # Gradio interface | |
| interface = gr.Interface( | |
| fn=detect_objects, | |
| inputs=gr.Image(type="pil"), | |
| outputs=gr.Image(type="pil"), | |
| title="YOLOv5 Image Detection", | |
| description="Upload an image to detect objects using YOLOv5." | |
| ) | |
| # Launch the Gradio app | |
| interface.launch() |