import gradio as gr import yolov7 from yolov7.models.common import autoShape from yolov7.models.experimental import attempt_load from yolov7.utils.google_utils import attempt_download_from_hub, attempt_download from yolov7.utils.torch_utils import TracedModel YOLO_MODEL_FILE_NAME="kadirnar/yolov7-v0.1" # YOLO_MODEL_FILE_NAME="kadirnar/yolov7-tiny-v0.1" def yolov7_inference( image: gr.inputs.Image = None, image_size: gr.inputs.Slider = 640, conf_threshold: gr.inputs.Slider = 0.25, iou_threshold: gr.inputs.Slider = 0.45, ): model = yolov7.load(YOLO_MODEL_FILE_NAME, device="cpu", hf_model=True, trace=False) model.conf = conf_threshold model.iou = iou_threshold results = model([image], size=image_size) return results.render()[0] inputs = [ gr.inputs.Image(type="pil", label="Input Image"), gr.inputs.Slider(minimum=320, maximum=1280, default=640, step=32, label="Image Size"), gr.inputs.Slider(minimum=0.0, maximum=1.0, default=0.25, step=0.05, label="Confidence Threshold"), gr.inputs.Slider(minimum=0.0, maximum=1.0, default=0.45, step=0.05, label="IOU Threshold"), ] outputs = gr.outputs.Image(type="filepath", label="Output Image") title = "Yolov7: evaluation yolov7.pt" examples = [['car.jpeg', 640, 0.5, 0.75], ['horse.jpeg', 640, 0.5, 0.75]] demo_app = gr.Interface( fn=yolov7_inference, inputs=inputs, outputs=outputs, title=title, examples=examples, cache_examples=True, ) demo_app.launch(debug=True, enable_queue=True)