SoM / app.py
SkalskiP's picture
Update Dockerfile and app.py for improved functionality
03b9405
raw
history blame
No virus
1.29 kB
import torch
import gradio as gr
import numpy as np
import supervision as sv
from segment_anything import sam_model_registry, SamAutomaticMaskGenerator
DEVICE = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
SAM_CHECKPOINT = "weights/sam_vit_h_4b8939.pth"
SAM_MODEL_TYPE = "vit_h"
MARKDOWN = """
<h1 style='text-align: center'>
<img
src='https://som-gpt4v.github.io/website/img/som_logo.png'
style='height:50px; display:inline-block'
/>
Set-of-Mark (SoM) Prompting Unleashes Extraordinary Visual Grounding in GPT-4V
</h1>
"""
sam = sam_model_registry[SAM_MODEL_TYPE](checkpoint=SAM_CHECKPOINT).to(device=DEVICE)
mask_generator = SamAutomaticMaskGenerator(sam)
def inference(image: np.ndarray) -> np.ndarray:
return image
image_input = gr.Image(label="Input", type="numpy")
image_output = gr.Image(label="SoM Visual Prompt", type="numpy", height=512)
run_button = gr.Button("Run")
with gr.Blocks() as demo:
gr.Markdown(MARKDOWN)
with gr.Row():
with gr.Column():
image_input.render()
with gr.Column():
image_output.render()
run_button.render()
run_button.click(inference, inputs=[image_input], outputs=image_output)
demo.queue().launch(debug=False, show_error=True)