|
import os |
|
import subprocess |
|
|
|
|
|
if not os.path.exists("edge_vlm"): |
|
subprocess.run(["git", "clone", "https://huggingface.co/irotem98/edge_vlm"]) |
|
|
|
|
|
os.chdir("edge_vlm") |
|
|
|
|
|
subprocess.run(["pip", "install", "-r", "requirements.txt"]) |
|
|
|
|
|
from edge_vlm.model import MoondreamModel |
|
import torch |
|
import gradio as gr |
|
|
|
|
|
model = MoondreamModel.load_model() |
|
tokenizer = MoondreamModel.load_tokenizer() |
|
|
|
|
|
default_question = "Describe the image." |
|
|
|
|
|
def generate_caption_with_default(image): |
|
|
|
preprocessed_image = MoondreamModel.preprocess_image(image) |
|
|
|
|
|
caption = MoondreamModel.generate_caption(model, preprocessed_image, tokenizer) |
|
|
|
return caption |
|
|
|
|
|
interface = gr.Interface( |
|
fn=generate_caption_with_default, |
|
inputs=gr.inputs.Image(type="pil", label="Upload an Image"), |
|
outputs="text", |
|
title="Image Caption Generator", |
|
description=f"The default question is: '{default_question}'. Upload an image to generate a description." |
|
) |
|
|
|
|
|
interface.launch() |
|
|