maverick1729's picture
all files
7800904 verified
Raw History Blame Contribute Delete
1.35 kB
import gradio as gr
import traceback
from inference import advanced_generate, get_image_features
def caption_image(img, method):
try:
if img is None:
return "Please upload an image."
encoder_output = get_image_features(img)
if method=='Beam':
return advanced_generate(encoder_output, method="beam", beam_width=3, temperature=1.0)
elif method=='Sample':
captions = []
for i in range(5):
caption = advanced_generate(
encoder_output,
method="sample",
temperature=1.1
)
captions.append(f"{i+1}. {caption}")
return "\n".join(captions)
except Exception as e:
traceback.print_exc()
return f"Error: {str(e)}"
demo = gr.Interface(
fn=caption_image,
inputs=[
gr.Image(type="numpy", label="Upload an image"),
gr.Radio(
choices=["Beam", "Sample"],
value="beam",
label="Captioning Method"
)
],
outputs=gr.Textbox(label="Generated Caption", lines=5),
title="Image Captioning Model",
description="Upload an image and choose a decoding method to generate a caption."
)
demo.launch(share=True)