Spaces:
Runtime error
Runtime error
Randomize the seed
#4
by
Fabrice-TIERCELIN
- opened
app.py
CHANGED
|
@@ -5,6 +5,7 @@ import tempfile
|
|
| 5 |
import gradio as gr
|
| 6 |
import numpy as np
|
| 7 |
import torch
|
|
|
|
| 8 |
from glob import glob
|
| 9 |
from torchvision.transforms import CenterCrop, Compose, Resize
|
| 10 |
|
|
@@ -175,6 +176,7 @@ def fn_vis_camera(camera_args):
|
|
| 175 |
gr.update(visible=vis_prompt), \
|
| 176 |
gr.update(visible=vis_num_samples), \
|
| 177 |
gr.update(visible=vis_seed), \
|
|
|
|
| 178 |
gr.update(visible=vis_start), \
|
| 179 |
gr.update(visible=vis_gen_video, value=None), \
|
| 180 |
gr.update(visible=vis_repeat_highlight)
|
|
@@ -388,6 +390,7 @@ def visualized_camera_poses(step2_camera_motion):
|
|
| 388 |
gr.update(visible=vis_prompt), \
|
| 389 |
gr.update(visible=vis_num_samples), \
|
| 390 |
gr.update(visible=vis_seed), \
|
|
|
|
| 391 |
gr.update(visible=vis_start), \
|
| 392 |
gr.update(visible=vis_gen_video), \
|
| 393 |
gr.update(visible=vis_repeat_highlight)
|
|
@@ -503,12 +506,15 @@ def process_input_image(input_image, resize_mode):
|
|
| 503 |
gr.update(visible=vis_prompt), \
|
| 504 |
gr.update(visible=vis_num_samples), \
|
| 505 |
gr.update(visible=vis_seed), \
|
|
|
|
| 506 |
gr.update(visible=vis_start), \
|
| 507 |
gr.update(visible=vis_gen_video), \
|
| 508 |
gr.update(visible=vis_repeat_highlight)
|
| 509 |
|
| 510 |
-
def model_run(input_image, fps_id, seed, n_samples, camera_args):
|
| 511 |
global model, device, camera_dict, num_frames, num_steps, width, height
|
|
|
|
|
|
|
| 512 |
RT = process_camera(camera_dict, camera_args, num_frames=num_frames, width=width, height=height).reshape(-1,12)
|
| 513 |
|
| 514 |
video_path = motionctrl_sample(
|
|
@@ -657,14 +663,15 @@ def main(args):
|
|
| 657 |
generation_dec = gr.Markdown(f"\n 1. Set `FPS`.; \
|
| 658 |
\n 2. Set `n_samples`; \
|
| 659 |
\n 3. Set `seed`; \
|
| 660 |
-
\n 4. Click `Start generation
|
| 661 |
# prompt = gr.Textbox(value="a dog sitting on grass", label="Prompt", interactive=True, visible=False)
|
| 662 |
prompt = gr.Slider(minimum=5, maximum=30, step=1, label="FPS", value=10, visible=False)
|
| 663 |
n_samples = gr.Number(value=1, precision=0, interactive=True, label="n_samples", visible=False)
|
| 664 |
-
|
| 665 |
-
|
|
|
|
| 666 |
with gr.Column():
|
| 667 |
-
gen_video = gr.Video(value=None, label="
|
| 668 |
repeat_highlight=gr.HighlightedText(value=[("",""), (f"1. If the motion control is not obvious, try to increase the `Motion Speed`. \
|
| 669 |
\n 2. If the generated videos are distored severely, try to descrease the `Motion Speed` \
|
| 670 |
or increase `FPS`.", "Normal")],
|
|
@@ -699,7 +706,7 @@ def main(args):
|
|
| 699 |
generation_dec,
|
| 700 |
prompt,
|
| 701 |
n_samples,
|
| 702 |
-
seed, start, gen_video, repeat_highlight])
|
| 703 |
|
| 704 |
keep_spatial_raition_botton.click(
|
| 705 |
fn=process_input_image,
|
|
@@ -730,7 +737,7 @@ def main(args):
|
|
| 730 |
generation_dec,
|
| 731 |
prompt,
|
| 732 |
n_samples,
|
| 733 |
-
seed, start, gen_video, repeat_highlight])
|
| 734 |
|
| 735 |
|
| 736 |
camera_info.click(
|
|
@@ -751,7 +758,7 @@ def main(args):
|
|
| 751 |
camera_args,
|
| 752 |
camera_reset, camera_vis,
|
| 753 |
vis_camera,
|
| 754 |
-
step3_prompt_generate, generation_dec, prompt, n_samples, seed, start, gen_video, repeat_highlight],
|
| 755 |
)
|
| 756 |
|
| 757 |
|
|
@@ -793,6 +800,7 @@ def main(args):
|
|
| 793 |
generation_dec,
|
| 794 |
prompt,
|
| 795 |
n_samples,
|
|
|
|
| 796 |
seed,
|
| 797 |
start,
|
| 798 |
gen_video,
|
|
@@ -809,7 +817,7 @@ def main(args):
|
|
| 809 |
|
| 810 |
|
| 811 |
start.click(fn=model_run,
|
| 812 |
-
inputs=[process_image, prompt, seed, n_samples, camera_args],
|
| 813 |
outputs=gen_video)
|
| 814 |
|
| 815 |
# set example
|
|
|
|
| 5 |
import gradio as gr
|
| 6 |
import numpy as np
|
| 7 |
import torch
|
| 8 |
+
import random
|
| 9 |
from glob import glob
|
| 10 |
from torchvision.transforms import CenterCrop, Compose, Resize
|
| 11 |
|
|
|
|
| 176 |
gr.update(visible=vis_prompt), \
|
| 177 |
gr.update(visible=vis_num_samples), \
|
| 178 |
gr.update(visible=vis_seed), \
|
| 179 |
+
gr.update(visible=vis_seed), \
|
| 180 |
gr.update(visible=vis_start), \
|
| 181 |
gr.update(visible=vis_gen_video, value=None), \
|
| 182 |
gr.update(visible=vis_repeat_highlight)
|
|
|
|
| 390 |
gr.update(visible=vis_prompt), \
|
| 391 |
gr.update(visible=vis_num_samples), \
|
| 392 |
gr.update(visible=vis_seed), \
|
| 393 |
+
gr.update(visible=vis_seed), \
|
| 394 |
gr.update(visible=vis_start), \
|
| 395 |
gr.update(visible=vis_gen_video), \
|
| 396 |
gr.update(visible=vis_repeat_highlight)
|
|
|
|
| 506 |
gr.update(visible=vis_prompt), \
|
| 507 |
gr.update(visible=vis_num_samples), \
|
| 508 |
gr.update(visible=vis_seed), \
|
| 509 |
+
gr.update(visible=vis_seed), \
|
| 510 |
gr.update(visible=vis_start), \
|
| 511 |
gr.update(visible=vis_gen_video), \
|
| 512 |
gr.update(visible=vis_repeat_highlight)
|
| 513 |
|
| 514 |
+
def model_run(input_image, fps_id, randomize_seed, seed, n_samples, camera_args):
|
| 515 |
global model, device, camera_dict, num_frames, num_steps, width, height
|
| 516 |
+
if randomize_seed:
|
| 517 |
+
seed = random.randint(0, 2**63 - 1)
|
| 518 |
RT = process_camera(camera_dict, camera_args, num_frames=num_frames, width=width, height=height).reshape(-1,12)
|
| 519 |
|
| 520 |
video_path = motionctrl_sample(
|
|
|
|
| 663 |
generation_dec = gr.Markdown(f"\n 1. Set `FPS`.; \
|
| 664 |
\n 2. Set `n_samples`; \
|
| 665 |
\n 3. Set `seed`; \
|
| 666 |
+
\n 4. Click `Start generation!` to generate videos; ", visible=False)
|
| 667 |
# prompt = gr.Textbox(value="a dog sitting on grass", label="Prompt", interactive=True, visible=False)
|
| 668 |
prompt = gr.Slider(minimum=5, maximum=30, step=1, label="FPS", value=10, visible=False)
|
| 669 |
n_samples = gr.Number(value=1, precision=0, interactive=True, label="n_samples", visible=False)
|
| 670 |
+
randomize_seed = gr.Checkbox(label = "\U0001F3B2 Randomize seed", value = True, info = "If checked, result is always different", interactive=True, visible=False)
|
| 671 |
+
seed = gr.Slider(label="Seed", minimum=0, maximum=2**63 - 1, step=1, randomize=True, interactive=True, visible=False)
|
| 672 |
+
start = gr.Button(value="Start generation!", variant = "primary", visible=False)
|
| 673 |
with gr.Column():
|
| 674 |
+
gen_video = gr.Video(value=None, label="Generated Video", visible=False)
|
| 675 |
repeat_highlight=gr.HighlightedText(value=[("",""), (f"1. If the motion control is not obvious, try to increase the `Motion Speed`. \
|
| 676 |
\n 2. If the generated videos are distored severely, try to descrease the `Motion Speed` \
|
| 677 |
or increase `FPS`.", "Normal")],
|
|
|
|
| 706 |
generation_dec,
|
| 707 |
prompt,
|
| 708 |
n_samples,
|
| 709 |
+
randomize_seed, seed, start, gen_video, repeat_highlight])
|
| 710 |
|
| 711 |
keep_spatial_raition_botton.click(
|
| 712 |
fn=process_input_image,
|
|
|
|
| 737 |
generation_dec,
|
| 738 |
prompt,
|
| 739 |
n_samples,
|
| 740 |
+
randomize_seed, seed, start, gen_video, repeat_highlight])
|
| 741 |
|
| 742 |
|
| 743 |
camera_info.click(
|
|
|
|
| 758 |
camera_args,
|
| 759 |
camera_reset, camera_vis,
|
| 760 |
vis_camera,
|
| 761 |
+
step3_prompt_generate, generation_dec, prompt, n_samples, randomize_seed, seed, start, gen_video, repeat_highlight],
|
| 762 |
)
|
| 763 |
|
| 764 |
|
|
|
|
| 800 |
generation_dec,
|
| 801 |
prompt,
|
| 802 |
n_samples,
|
| 803 |
+
randomize_seed,
|
| 804 |
seed,
|
| 805 |
start,
|
| 806 |
gen_video,
|
|
|
|
| 817 |
|
| 818 |
|
| 819 |
start.click(fn=model_run,
|
| 820 |
+
inputs=[process_image, prompt, randomize_seed, seed, n_samples, camera_args],
|
| 821 |
outputs=gen_video)
|
| 822 |
|
| 823 |
# set example
|