| | from gradio.outputs import Label |
| | from icevision.all import * |
| | from icevision.models.checkpoint import * |
| | import PIL |
| | import gradio as gr |
| | import os |
| |
|
| | |
| | checkpoint_path = "model_checkpoint.pth" |
| | checkpoint_and_model = model_from_checkpoint(checkpoint_path) |
| | model = checkpoint_and_model["model"] |
| | model_type = checkpoint_and_model["model_type"] |
| | class_map = checkpoint_and_model["class_map"] |
| |
|
| | |
| | img_size = checkpoint_and_model["img_size"] |
| | valid_tfms = tfms.A.Adapter([*tfms.A.resize_and_pad(img_size), tfms.A.Normalize()]) |
| |
|
| | |
| | examples = [ |
| | ['./1.jpg'], |
| | ['./2.jpg'], |
| | ['./3.jpg'] |
| | ] |
| |
|
| | def show_preds(input_image): |
| | img = PIL.Image.fromarray(input_image, "RGB") |
| | pred_dict = model_type.end2end_detect(img, valid_tfms, model, |
| | class_map=class_map, |
| | detection_threshold=0.5, |
| | display_label=True, |
| | display_bbox=True, |
| | return_img=True, |
| | font_size=35, |
| | label_color="#FF59D6") |
| | return pred_dict["img"] |
| |
|
| | gr_interface = gr.Interface( |
| | fn=show_preds, |
| | inputs=["image"], |
| | outputs=[gr.outputs.Image(type="pil", label="VFNet Inference")], |
| | title="Fridge Object Detector", |
| | description="A VFNet model that detects common objects found in fridge. Upload an image or click an example image below to use.", |
| | examples=examples, |
| | ) |
| | gr_interface.launch(inline=False, share=False, debug=True) |