Spaces:
Paused
Paused
| import gradio as gr | |
| from gradio_client import Client | |
| fuse_client = Client("https://noamrot-fusecap-image-captioning.hf.space/") | |
| clipi_client = Client("https://fffiloni-clip-interrogator-2.hf.space/") | |
| coca_client = Client("https://fffiloni-coca-clone.hf.space/") | |
| def compare(image): | |
| ci_cap = clipi_client.predict( | |
| image, # str (filepath or URL to image) in 'parameter_3' Image component | |
| "best", # str in 'Select mode' Radio component | |
| 2, # int | float (numeric value between 2 and 24) in 'best mode max flavors' Slider component | |
| api_name="/clipi2" | |
| ) | |
| fuse_cap = fuse_client.predict( | |
| image, # str representing input in 'raw_image' Image component | |
| api_name="/predict" | |
| ) | |
| coca_cap = coca_client.predict( | |
| image, # filepath in 'parameter_6' Image component | |
| "Nucleus sampling", # Literal[Beam search, Nucleus sampling] in 'Text Decoding Method' Radio component | |
| 1, # float (numeric value between 1.0 and 5.0) in 'Repeat Penalty (larger value prevents repetition)' Slider component | |
| 0.5, # float (numeric value between 0.0 and 1.0) in 'Top p (used with nucleus sampling)' Slider component | |
| 5, # float in 'Minimum Sequence Length' Number component | |
| 20, # float in 'Maximum Sequence Length (has to higher than Minimum)' Number component | |
| api_name="/inference_caption" | |
| ) | |
| print(f"coca: {coca_cap}") | |
| return ci_cap[0], coca_cap, fuse_cap | |
| css = """ | |
| #col-container {max-width: 5810px; margin-left: auto; margin-right: auto;} | |
| """ | |
| with gr.Blocks(css=css) as demo: | |
| with gr.Column(elem_id="col-container"): | |
| gr.Markdown(""" | |
| # Caption compare | |
| """) | |
| with gr.Row(): | |
| with gr.Column(): | |
| image_in = gr.Image(label="Image to caption", type="filepath") | |
| submit_btn = gr.Button("Compare !") | |
| with gr.Column(): | |
| clip_int_out = gr.Textbox(label="Clip Interrogator") | |
| coca_out = gr.Textbox(label="CoCa") | |
| fuse_out = gr.Textbox(label="Fuse Cap") | |
| submit_btn.click( | |
| fn = compare, | |
| inputs = [ | |
| image_in | |
| ], | |
| outputs = [ | |
| clip_int_out, | |
| coca_out, | |
| fuse_out | |
| ] | |
| ) | |
| demo.queue().launch() |