Spaces:
Running
on
Zero
Running
on
Zero
SingleZombie
commited on
Commit
•
826f0e1
1
Parent(s):
adefceb
reduce inference time
Browse files- app.py +12 -10
- src/utils.py +1 -1
app.py
CHANGED
@@ -238,13 +238,15 @@ class GlobalState:
|
|
238 |
|
239 |
|
240 |
@torch.no_grad()
|
241 |
-
@spaces.GPU(duration=
|
242 |
def process1(input_path, prompt, sd_model, seed, image_resolution, control_strength,
|
243 |
x0_strength, control_type, low_threshold, high_threshold,
|
244 |
ddpm_steps, scale, a_prompt, n_prompt,
|
245 |
frame_count, batch_size, mininterv, maxinterv,
|
246 |
use_constraints, bg_smooth,
|
247 |
b1, b2, s1, s2):
|
|
|
|
|
248 |
global_state = GlobalState()
|
249 |
global_state.update_controlnet_model(control_type)
|
250 |
global_state.update_sd_model(sd_model)
|
@@ -569,12 +571,18 @@ with block:
|
|
569 |
b1, b2, s1, s2
|
570 |
]
|
571 |
|
572 |
-
example = gr.Label('')
|
573 |
-
|
574 |
with gr.Column():
|
575 |
result_keyframe = gr.Video(label='Output key frame video',
|
576 |
format='mp4',
|
577 |
interactive=False)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
578 |
|
579 |
def input_changed(path):
|
580 |
if path is None:
|
@@ -601,13 +609,7 @@ with block:
|
|
601 |
value=frame_count,
|
602 |
maximum=frame_count),
|
603 |
)
|
604 |
-
|
605 |
-
examples=example_list,
|
606 |
-
inputs=[*ips],
|
607 |
-
fn=process1,
|
608 |
-
outputs=[result_keyframe],
|
609 |
-
cache_examples=True
|
610 |
-
)
|
611 |
|
612 |
input_path.change(input_changed, input_path, [
|
613 |
mininterv, maxinterv, frame_count])
|
|
|
238 |
|
239 |
|
240 |
@torch.no_grad()
|
241 |
+
@spaces.GPU(duration=300)
|
242 |
def process1(input_path, prompt, sd_model, seed, image_resolution, control_strength,
|
243 |
x0_strength, control_type, low_threshold, high_threshold,
|
244 |
ddpm_steps, scale, a_prompt, n_prompt,
|
245 |
frame_count, batch_size, mininterv, maxinterv,
|
246 |
use_constraints, bg_smooth,
|
247 |
b1, b2, s1, s2):
|
248 |
+
image_resolution = min(image_resolution, 512)
|
249 |
+
frame_count = min(frame_count, 8)
|
250 |
global_state = GlobalState()
|
251 |
global_state.update_controlnet_model(control_type)
|
252 |
global_state.update_sd_model(sd_model)
|
|
|
571 |
b1, b2, s1, s2
|
572 |
]
|
573 |
|
|
|
|
|
574 |
with gr.Column():
|
575 |
result_keyframe = gr.Video(label='Output key frame video',
|
576 |
format='mp4',
|
577 |
interactive=False)
|
578 |
+
with gr.Row():
|
579 |
+
example = gr.Examples(
|
580 |
+
examples=example_list,
|
581 |
+
inputs=[*ips],
|
582 |
+
fn=process1,
|
583 |
+
outputs=[result_keyframe],
|
584 |
+
cache_examples=True
|
585 |
+
)
|
586 |
|
587 |
def input_changed(path):
|
588 |
if path is None:
|
|
|
609 |
value=frame_count,
|
610 |
maximum=frame_count),
|
611 |
)
|
612 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
613 |
|
614 |
input_path.change(input_changed, input_path, [
|
615 |
mininterv, maxinterv, frame_count])
|
src/utils.py
CHANGED
@@ -40,7 +40,7 @@ def resize_image(input_image, resolution):
|
|
40 |
H, W, C = input_image.shape
|
41 |
H = float(H)
|
42 |
W = float(W)
|
43 |
-
k = float(resolution) /
|
44 |
H *= k
|
45 |
W *= k
|
46 |
H = int(np.round(H / 64.0)) * 64
|
|
|
40 |
H, W, C = input_image.shape
|
41 |
H = float(H)
|
42 |
W = float(W)
|
43 |
+
k = float(resolution) / max(H, W)
|
44 |
H *= k
|
45 |
W *= k
|
46 |
H = int(np.round(H / 64.0)) * 64
|