Spaces:
Runtime error
Runtime error
praeclarumjj3
commited on
Commit
•
2d49497
1
Parent(s):
7015bfd
Update app.py
Browse files
app.py
CHANGED
@@ -5,7 +5,6 @@ import os
|
|
5 |
import time
|
6 |
|
7 |
import gradio as gr
|
8 |
-
import requests
|
9 |
import hashlib
|
10 |
|
11 |
from vcoder_llava.vcoder_conversation import (default_conversation, conv_templates,
|
@@ -200,7 +199,8 @@ def http_bot(state, model_selector, temperature, top_p, max_new_tokens, request:
|
|
200 |
yield (state, state.to_gradio_chatbot()) + (disable_btn, disable_btn, disable_btn, enable_btn, enable_btn)
|
201 |
return
|
202 |
time.sleep(0.03)
|
203 |
-
except:
|
|
|
204 |
state.messages[-1][-1] = server_error_msg
|
205 |
yield (state, state.to_gradio_chatbot()) + (disable_btn, disable_btn, disable_btn, enable_btn, enable_btn)
|
206 |
return
|
@@ -225,23 +225,24 @@ def http_bot(state, model_selector, temperature, top_p, max_new_tokens, request:
|
|
225 |
}
|
226 |
fout.write(json.dumps(data) + "\n")
|
227 |
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
""
|
|
|
|
|
|
|
232 |
|
233 |
tos_markdown = ("""
|
234 |
### Terms of use
|
235 |
By using this service, users are required to agree to the following terms:
|
236 |
-
The service is a research preview intended for non-commercial use only. It only provides limited safety measures and may generate offensive content. It must not be used for any illegal, harmful, violent, racist, or sexual purposes.
|
237 |
-
Please click the "Flag" button if you get any inappropriate answer! We will collect those to keep improving our moderator.
|
238 |
-
For an optimal experience, please use desktop computers for this demo, as mobile devices may compromise its quality.
|
239 |
""")
|
240 |
|
241 |
|
242 |
learn_more_markdown = ("""
|
243 |
### License
|
244 |
-
The service is a research preview intended for non-commercial use only, subject to the
|
245 |
""")
|
246 |
|
247 |
block_css = """
|
@@ -259,7 +260,8 @@ def build_demo(embed_mode):
|
|
259 |
state = gr.State()
|
260 |
|
261 |
if not embed_mode:
|
262 |
-
gr.Markdown(
|
|
|
263 |
|
264 |
with gr.Row():
|
265 |
with gr.Column(scale=3):
|
@@ -284,15 +286,9 @@ def build_demo(embed_mode):
|
|
284 |
value="Default",
|
285 |
label="Preprocess for non-square Seg Map", visible=False)
|
286 |
|
287 |
-
cur_dir = os.path.dirname(os.path.abspath(__file__))
|
288 |
-
gr.Examples(examples=[
|
289 |
-
[f"{cur_dir}/examples/3.jpg", f"{cur_dir}/examples/3_pan.png", "What objects can be seen in the image?"],
|
290 |
-
[f"{cur_dir}/examples/3.jpg", f"{cur_dir}/examples/3_ins.png", "What objects can be seen in the image?"],
|
291 |
-
], inputs=[imagebox, segbox, textbox])
|
292 |
-
|
293 |
with gr.Accordion("Parameters", open=False) as parameter_row:
|
294 |
-
temperature = gr.Slider(minimum=0.0, maximum=1.0, value=0.
|
295 |
-
top_p = gr.Slider(minimum=0.0, maximum=1.0, value=0.
|
296 |
max_output_tokens = gr.Slider(minimum=0, maximum=1024, value=512, step=64, interactive=True, label="Max output tokens",)
|
297 |
|
298 |
with gr.Column(scale=8):
|
@@ -310,6 +306,16 @@ def build_demo(embed_mode):
|
|
310 |
regenerate_btn = gr.Button(value="🔄 Regenerate", interactive=False)
|
311 |
clear_btn = gr.Button(value="🗑️ Clear", interactive=False)
|
312 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
313 |
if not embed_mode:
|
314 |
gr.Markdown(tos_markdown)
|
315 |
gr.Markdown(learn_more_markdown)
|
@@ -342,7 +348,7 @@ def build_demo(embed_mode):
|
|
342 |
|
343 |
if __name__ == "__main__":
|
344 |
parser = argparse.ArgumentParser()
|
345 |
-
parser.add_argument("--model-path", type=str, default="
|
346 |
parser.add_argument("--model-base", type=str, default=None)
|
347 |
parser.add_argument("--model-name", type=str)
|
348 |
parser.add_argument("--load-8bit", action="store_true")
|
@@ -386,4 +392,4 @@ if __name__ == "__main__":
|
|
386 |
server_name=args.host,
|
387 |
server_port=args.port,
|
388 |
share=args.share
|
389 |
-
)
|
|
|
5 |
import time
|
6 |
|
7 |
import gradio as gr
|
|
|
8 |
import hashlib
|
9 |
|
10 |
from vcoder_llava.vcoder_conversation import (default_conversation, conv_templates,
|
|
|
199 |
yield (state, state.to_gradio_chatbot()) + (disable_btn, disable_btn, disable_btn, enable_btn, enable_btn)
|
200 |
return
|
201 |
time.sleep(0.03)
|
202 |
+
except Exception:
|
203 |
+
gr.Warning(server_error_msg)
|
204 |
state.messages[-1][-1] = server_error_msg
|
205 |
yield (state, state.to_gradio_chatbot()) + (disable_btn, disable_btn, disable_btn, enable_btn, enable_btn)
|
206 |
return
|
|
|
225 |
}
|
226 |
fout.write(json.dumps(data) + "\n")
|
227 |
|
228 |
+
|
229 |
+
title = "<h1 style='margin-bottom: -10px; text-align: center'>VCoder: Versatile Vision Encoders for Multimodal Large Language Models</h1>"
|
230 |
+
# style='
|
231 |
+
description = "<p style='font-size: 16px; margin: 5px; font-weight: w300; text-align: center'> <a href='https://praeclarumjj3.github.io/' style='text-decoration:none' target='_blank'>Jitesh Jain, </a> <a href='https://jwyang.github.io/' style='text-decoration:none' target='_blank'>Jianwei Yang, <a href='https://www.humphreyshi.com/home' style='text-decoration:none' target='_blank'>Humphrey Shi</a></p>" \
|
232 |
+
+ "<p style='font-size: 16px; margin: 5px; font-weight: w600; text-align: center'> <a href='https://praeclarumjj3.github.io/vcoder/' target='_blank'>Project Page</a> | <a href='https://praeclarumjj3.github.io/vcoder/' target='_blank'>Video</a> | <a href='https://arxiv.org/abs/2211.06220' target='_blank'>ArXiv Paper</a> | <a href='https://github.com/SHI-Labs/VCoder' target='_blank'>Github Repo</a></p>" \
|
233 |
+
+ "<p style='text-align: center; font-size: 16px; margin: 5px; font-weight: w300;'> [Note: Please click on Regenerate button if you are unsatisfied with the generated response. You may find screenshots of our demo trials <a href='https://github.com/SHI-Labs/VCoder/blob/main/images/' style='text-decoration:none' target='_blank'>here</a>.]</p>" \
|
234 |
+
+ "<p style='text-align: center; font-size: 16px; margin: 5px; font-weight: w300;'> [Note: You can obtain segmentation maps for your image using the <a href='https://huggingface.co/spaces/shi-labs/OneFormer' style='text-decoration:none' target='_blank'>OneFormer Demo</a>. Please click on Regenerate button if you are unsatisfied with the generated response. You may find screenshots of our demo trials <a href='https://github.com/SHI-Labs/VCoder/blob/main/images/' style='text-decoration:none' target='_blank'>here</a>.]</p>"
|
235 |
|
236 |
tos_markdown = ("""
|
237 |
### Terms of use
|
238 |
By using this service, users are required to agree to the following terms:
|
239 |
+
The service is a research preview intended for non-commercial use only. It only provides limited safety measures and may generate offensive content. It must not be used for any illegal, harmful, violent, racist, or sexual purposes.
|
|
|
|
|
240 |
""")
|
241 |
|
242 |
|
243 |
learn_more_markdown = ("""
|
244 |
### License
|
245 |
+
The service is a research preview intended for non-commercial use only, subject to the [License](https://huggingface.co/lmsys/vicuna-7b-v1.5) of Vicuna-v1.5, [License](https://github.com/haotian-liu/LLaVA/blob/main/LICENSE) of LLaVA, [Terms of Use](https://cocodataset.org/#termsofuse) of the COCO dataset, [Terms of Use](https://openai.com/policies/terms-of-use) of the data generated by OpenAI, and [Privacy Practices](https://chrome.google.com/webstore/detail/sharegpt-share-your-chatg/daiacboceoaocpibfodeljbdfacokfjb) of ShareGPT. Please contact us if you find any potential violation.
|
246 |
""")
|
247 |
|
248 |
block_css = """
|
|
|
260 |
state = gr.State()
|
261 |
|
262 |
if not embed_mode:
|
263 |
+
gr.Markdown(title)
|
264 |
+
gr.Markdown(description)
|
265 |
|
266 |
with gr.Row():
|
267 |
with gr.Column(scale=3):
|
|
|
286 |
value="Default",
|
287 |
label="Preprocess for non-square Seg Map", visible=False)
|
288 |
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
with gr.Accordion("Parameters", open=False) as parameter_row:
|
290 |
+
temperature = gr.Slider(minimum=0.0, maximum=1.0, value=0.8, step=0.1, interactive=True, label="Temperature",)
|
291 |
+
top_p = gr.Slider(minimum=0.0, maximum=1.0, value=0.9, step=0.1, interactive=True, label="Top P",)
|
292 |
max_output_tokens = gr.Slider(minimum=0, maximum=1024, value=512, step=64, interactive=True, label="Max output tokens",)
|
293 |
|
294 |
with gr.Column(scale=8):
|
|
|
306 |
regenerate_btn = gr.Button(value="🔄 Regenerate", interactive=False)
|
307 |
clear_btn = gr.Button(value="🗑️ Clear", interactive=False)
|
308 |
|
309 |
+
cur_dir = os.path.dirname(os.path.abspath(__file__))
|
310 |
+
gr.Examples(examples=[
|
311 |
+
[f"{cur_dir}/examples/people.jpg", f"{cur_dir}/examples/people_pan.png", "What objects can be seen in the image?", "0.9", "1.0"],
|
312 |
+
[f"{cur_dir}/examples/corgi.jpg", f"{cur_dir}/examples/corgi_pan.png", "What objects can be seen in the image?", "0.6", "0.7"],
|
313 |
+
[f"{cur_dir}/examples/friends.jpg", f"{cur_dir}/examples/friends_pan.png", "Can you count the number of people in the image?", "0.8", "0.9"],
|
314 |
+
[f"{cur_dir}/examples/friends.jpg", f"{cur_dir}/examples/friends_pan.png", "What is happening in the image?", "0.8", "0.9"],
|
315 |
+
[f"{cur_dir}/examples/suits.jpg", f"{cur_dir}/examples/suits_pan.png", "What objects can be seen in the image?", "0.5", "0.5"],
|
316 |
+
[f"{cur_dir}/examples/suits.jpg", f"{cur_dir}/examples/suits_ins.png", "What objects can be seen in the image?", "0.5", "0.5"],
|
317 |
+
], inputs=[imagebox, segbox, textbox, temperature, top_p])
|
318 |
+
|
319 |
if not embed_mode:
|
320 |
gr.Markdown(tos_markdown)
|
321 |
gr.Markdown(learn_more_markdown)
|
|
|
348 |
|
349 |
if __name__ == "__main__":
|
350 |
parser = argparse.ArgumentParser()
|
351 |
+
parser.add_argument("--model-path", type=str, default="shi-labs/vcoder_ds_llava-v1.5-13b")
|
352 |
parser.add_argument("--model-base", type=str, default=None)
|
353 |
parser.add_argument("--model-name", type=str)
|
354 |
parser.add_argument("--load-8bit", action="store_true")
|
|
|
392 |
server_name=args.host,
|
393 |
server_port=args.port,
|
394 |
share=args.share
|
395 |
+
)
|