Spaces:
Running
Running
Mathis Petrovich
commited on
Commit
·
6415e78
1
Parent(s):
efb0432
All gallery by default, radio or nvids change
Browse files
app.py
CHANGED
|
@@ -92,6 +92,8 @@ video {
|
|
| 92 |
"""
|
| 93 |
|
| 94 |
|
|
|
|
|
|
|
| 95 |
def humanml3d_keyid_to_babel_rendered_url(h3d_index, amass_to_babel, keyid):
|
| 96 |
# Don't show the mirrored version of HumanMl3D
|
| 97 |
if "M" in keyid:
|
|
@@ -191,6 +193,9 @@ autoplay loop disablepictureinpicture id="{video_id}" title="{title}">
|
|
| 191 |
|
| 192 |
|
| 193 |
def retrieve_component(retrieve_function, text, splits_choice, nvids, n_component=24):
|
|
|
|
|
|
|
|
|
|
| 194 |
# cannot produce more than n_compoenent
|
| 195 |
nvids = min(nvids, n_component)
|
| 196 |
|
|
@@ -207,7 +212,6 @@ def retrieve_component(retrieve_function, text, splits_choice, nvids, n_componen
|
|
| 207 |
return htmls
|
| 208 |
|
| 209 |
|
| 210 |
-
|
| 211 |
if not os.path.exists("data"):
|
| 212 |
gdown.download_folder("https://drive.google.com/drive/folders/1MgPFgHZ28AMd01M1tJ7YW_1-ut3-4j08",
|
| 213 |
use_cookies=False)
|
|
@@ -231,8 +235,6 @@ retrieve_function = partial(retrieve, model, keyid_to_url, all_unit_motion_embs,
|
|
| 231 |
theme = gr.themes.Default(primary_hue="blue", secondary_hue="gray")
|
| 232 |
retrieve_and_show = partial(retrieve_component, retrieve_function)
|
| 233 |
|
| 234 |
-
default_text = "A person is "
|
| 235 |
-
|
| 236 |
with gr.Blocks(css=CSS, theme=theme) as demo:
|
| 237 |
gr.Markdown(WEBSITE)
|
| 238 |
videos = []
|
|
@@ -241,18 +243,15 @@ with gr.Blocks(css=CSS, theme=theme) as demo:
|
|
| 241 |
with gr.Column(scale=3):
|
| 242 |
with gr.Column(scale=2):
|
| 243 |
text = gr.Textbox(placeholder="Type the motion you want to search with a sentence",
|
| 244 |
-
show_label=True, label="Text prompt", value=
|
| 245 |
with gr.Column(scale=1):
|
| 246 |
btn = gr.Button("Retrieve", variant='primary')
|
| 247 |
clear = gr.Button("Clear", variant='secondary')
|
| 248 |
|
| 249 |
with gr.Row():
|
| 250 |
with gr.Column(scale=1):
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
# info="HumanML3D data used for the motion database")
|
| 254 |
-
splits_choice = gr.Radio(["Unseen motions", "All motions"], label="Gallery of motion",
|
| 255 |
-
value="Unseen motions",
|
| 256 |
info="The motion gallery is coming from HumanML3D")
|
| 257 |
|
| 258 |
with gr.Column(scale=1):
|
|
@@ -300,23 +299,14 @@ with gr.Blocks(css=CSS, theme=theme) as demo:
|
|
| 300 |
inputs=examples.inputs,
|
| 301 |
outputs=videos
|
| 302 |
)
|
| 303 |
-
# def check_error(splits):
|
| 304 |
-
# if not splits:
|
| 305 |
-
# raise gr.Error("At least one split should be selected!")
|
| 306 |
-
# return splits
|
| 307 |
|
| 308 |
btn.click(fn=retrieve_and_show, inputs=[text, splits_choice, nvideo_slider], outputs=videos)
|
| 309 |
-
#.then(
|
| 310 |
-
# fn=check_error, inputs=splits
|
| 311 |
-
# )
|
| 312 |
-
|
| 313 |
text.submit(fn=retrieve_and_show, inputs=[text, splits_choice, nvideo_slider], outputs=videos)
|
| 314 |
-
|
| 315 |
-
|
| 316 |
-
# )
|
| 317 |
|
| 318 |
def clear_videos():
|
| 319 |
-
return [None for x in range(24)] + [
|
| 320 |
|
| 321 |
clear.click(fn=clear_videos, outputs=videos + [text])
|
| 322 |
|
|
|
|
| 92 |
"""
|
| 93 |
|
| 94 |
|
| 95 |
+
DEFAULT_TEXT = "A person is "
|
| 96 |
+
|
| 97 |
def humanml3d_keyid_to_babel_rendered_url(h3d_index, amass_to_babel, keyid):
|
| 98 |
# Don't show the mirrored version of HumanMl3D
|
| 99 |
if "M" in keyid:
|
|
|
|
| 193 |
|
| 194 |
|
| 195 |
def retrieve_component(retrieve_function, text, splits_choice, nvids, n_component=24):
|
| 196 |
+
if text == DEFAULT_TEXT or text == "" or text is None:
|
| 197 |
+
return [None for _ in range(n_component)]
|
| 198 |
+
|
| 199 |
# cannot produce more than n_compoenent
|
| 200 |
nvids = min(nvids, n_component)
|
| 201 |
|
|
|
|
| 212 |
return htmls
|
| 213 |
|
| 214 |
|
|
|
|
| 215 |
if not os.path.exists("data"):
|
| 216 |
gdown.download_folder("https://drive.google.com/drive/folders/1MgPFgHZ28AMd01M1tJ7YW_1-ut3-4j08",
|
| 217 |
use_cookies=False)
|
|
|
|
| 235 |
theme = gr.themes.Default(primary_hue="blue", secondary_hue="gray")
|
| 236 |
retrieve_and_show = partial(retrieve_component, retrieve_function)
|
| 237 |
|
|
|
|
|
|
|
| 238 |
with gr.Blocks(css=CSS, theme=theme) as demo:
|
| 239 |
gr.Markdown(WEBSITE)
|
| 240 |
videos = []
|
|
|
|
| 243 |
with gr.Column(scale=3):
|
| 244 |
with gr.Column(scale=2):
|
| 245 |
text = gr.Textbox(placeholder="Type the motion you want to search with a sentence",
|
| 246 |
+
show_label=True, label="Text prompt", value=DEFAULT_TEXT)
|
| 247 |
with gr.Column(scale=1):
|
| 248 |
btn = gr.Button("Retrieve", variant='primary')
|
| 249 |
clear = gr.Button("Clear", variant='secondary')
|
| 250 |
|
| 251 |
with gr.Row():
|
| 252 |
with gr.Column(scale=1):
|
| 253 |
+
splits_choice = gr.Radio(["All motions", "Unseen motions"], label="Gallery of motion",
|
| 254 |
+
value="All motions",
|
|
|
|
|
|
|
|
|
|
| 255 |
info="The motion gallery is coming from HumanML3D")
|
| 256 |
|
| 257 |
with gr.Column(scale=1):
|
|
|
|
| 299 |
inputs=examples.inputs,
|
| 300 |
outputs=videos
|
| 301 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 302 |
|
| 303 |
btn.click(fn=retrieve_and_show, inputs=[text, splits_choice, nvideo_slider], outputs=videos)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 304 |
text.submit(fn=retrieve_and_show, inputs=[text, splits_choice, nvideo_slider], outputs=videos)
|
| 305 |
+
splits_choice.change(fn=retrieve_and_show, inputs=[text, splits_choice, nvideo_slider], outputs=videos)
|
| 306 |
+
nvideo_slider.change(fn=retrieve_and_show, inputs=[text, splits_choice, nvideo_slider], outputs=videos)
|
|
|
|
| 307 |
|
| 308 |
def clear_videos():
|
| 309 |
+
return [None for x in range(24)] + [DEFAULT_TEXT]
|
| 310 |
|
| 311 |
clear.click(fn=clear_videos, outputs=videos + [text])
|
| 312 |
|