import requests import os from io import BytesIO from PIL import Image import numpy as np from pathlib import Path import gradio as gr import warnings warnings.filterwarnings("ignore") os.system( "pip install einops shapely timm yacs tensorboardX ftfy prettytable pymongo click opencv-python inflect nltk scipy scikit-learn pycocotools") os.system("pip install transformers") os.system("python setup.py build develop --user") from maskrcnn_benchmark.config import cfg from maskrcnn_benchmark.engine.predictor_glip import GLIPDemo # Use this command for evaluate the GLIP-T model config_file = "configs/pretrain/glip_Swin_T_O365_GoldG.yaml" weight_file = "MODEL/glip_tiny_model_o365_goldg_cc_sbu.pth" # Use this command if you want to try the GLIP-L model # ! wget https://penzhanwu2bbs.blob.core.windows.net/data/GLIPv1_Open/models/glip_large_model.pth -O MODEL/glip_large_model.pth # config_file = "configs/pretrain/glip_Swin_L.yaml" # weight_file = "MODEL/glip_large_model.pth" # update the config options with the config file # manual override some options cfg.local_rank = 0 cfg.num_gpus = 1 cfg.merge_from_file(config_file) cfg.merge_from_list(["MODEL.WEIGHT", weight_file]) cfg.merge_from_list(["MODEL.DEVICE", "cuda"]) glip_demo = GLIPDemo( cfg, min_image_size=800, confidence_threshold=0.7, show_mask_heatmaps=False ) def predict(image, text): result, _ = glip_demo.run_on_web_image(image, text, 0.5) return result image = gr.inputs.Image() gr.Interface( description="Object Detection in the Wild through GLIP (https://github.com/microsoft/GLIP).", fn=predict, inputs=["image", "text"], outputs=[ gr.outputs.Image( type="pil", # label="grounding results" ), ], examples=[ ["./flickr_9472793441.jpg", "bobble heads on top of the shelf ."], ["./flickr_9472793441.jpg", "sofa . remote . dog . person . car . sky . plane ."], ["./coco_000000281759.jpg", "A green umbrella. A pink striped umbrella. A plain white umbrella."], ["./coco_000000281759.jpg", "a flowery top. A blue dress. An orange shirt ."], ["./coco_000000281759.jpg", "a car . An electricity box ."], ["./flickr_7520721.jpg", "A woman figure skater in a blue costume holds her leg by the blade of her skate ."] ], article=Path("docs/intro.md").read_text() ).launch(server_name="0.0.0.0", server_port=7000, share=True)