Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import torch | |
| from PIL import Image | |
| from story import story_model | |
| # Images | |
| torch.hub.download_url_to_file('https://github.com/ultralytics/yolov5/raw/master/data/images/zidane.jpg', 'zidane.jpg') | |
| torch.hub.download_url_to_file('https://github.com/ultralytics/yolov5/raw/master/data/images/bus.jpg', 'bus.jpg') | |
| # Model | |
| model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # force_reload=True to update | |
| def yolo(im, size=640): | |
| g = (size / max(im.size)) # gain | |
| im = im.resize((int(x * g) for x in im.size), Image.ANTIALIAS) # resize | |
| results = model(im) # inference | |
| r= results.pred[0].numpy().T | |
| #probs = results.pred[0].numpy().T[-1] | |
| res = [(results.names[x].lower(),p) for x,p in zip(r[-1].astype(int),r[-2])] | |
| f_res = story_model(res) | |
| #results.render() # updates results.imgs with boxes and labels | |
| #return Image.fromarray(results.imgs[0]) | |
| return ','.join(f_res) | |
| inputs = gr.inputs.Image(type='pil', label="Original Image") | |
| #outputs = gr.outputs.Image(type="pil", label="Output Image") | |
| outputs = gr.outputs.Textbox(type="str", label="Output Story") | |
| title = "YOLOv5" | |
| description = "YOLOv5 Gradio demo for object detection. Upload an image or click an example image to use." | |
| article = "<p style='text-align: center'>YOLOv5 is a family of compound-scaled object detection models trained on the COCO dataset, and includes simple functionality for Test Time Augmentation (TTA), model ensembling, hyperparameter evolution, and export to ONNX, CoreML and TFLite. <a href='https://github.com/ultralytics/yolov5'>Source code</a> | <a href='https://pytorch.org/hub/ultralytics_yolov5'>PyTorch Hub</a></p>" | |
| examples = [['zidane.jpg'], ['bus.jpg']] | |
| iface = gr.Interface(yolo, inputs, outputs, title=title, description=description, article=article, examples=examples, theme="huggingface").launch(cache_examples=True,enable_queue=True) | |
| iface.launch() |