| import gradio as gr
|
| from tasks.image_caption import image_captioning
|
| from tasks.image_retrieval import image_retrieval
|
| from tasks.visual_qa import visual_qa
|
|
|
| caption_interface = gr.Interface(
|
| fn=image_captioning,
|
| inputs=gr.Image(type="pil", label="Upload Image"),
|
| outputs=gr.Textbox(label="Generated Caption"),
|
| title="Image Captioning",
|
| description="Generate a caption for the uploaded image.",
|
| allow_flagging="never"
|
| )
|
|
|
| retrieval_interface = gr.Interface(
|
| fn=image_retrieval,
|
| inputs=[
|
| gr.Textbox(label="Image URL"),
|
| gr.Textbox(label="Description Text")
|
| ],
|
| outputs=[
|
| gr.Image(label="Retrieved Image"),
|
| gr.Textbox(label="Matching Probability")
|
| ],
|
| title="Image Retrieval",
|
| description="Check if the image and text match semantically.",
|
| allow_flagging="never"
|
| )
|
|
|
| vqa_interface = gr.Interface(
|
| fn=visual_qa,
|
| inputs=[
|
| gr.Image(type="pil", label="Upload Image"),
|
| gr.Textbox(label="Question")
|
| ],
|
| outputs=gr.Textbox(label="Answer"),
|
| title="Visual Question Answering",
|
| description="Answer questions about the uploaded image.",
|
| allow_flagging="never"
|
| )
|
|
|
|
|
| app = gr.TabbedInterface(
|
| interface_list=[caption_interface, retrieval_interface, vqa_interface],
|
| tab_names=["Image Captioning", "Image Retrieval", "Visual Q&A"]
|
| )
|
|
|
| app.launch()
|
|
|