Spaces:
Configuration error
Configuration error
Commit
·
33f757a
1
Parent(s):
836b387
huggingface space
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- __pycache__/test.cpython-310.pyc +0 -0
- app.py +51 -76
- config/demo_config.yaml +6 -6
- input-video/00000.png +0 -0
- input-video/00001.png +0 -0
- input-video/00002.png +0 -0
- input-video/00003.png +0 -0
- input-video/00004.png +0 -0
- input-video/00005.png +0 -0
- input-video/00006.png +0 -0
- input-video/00007.png +0 -0
- input-video/00008.png +0 -0
- input-video/00009.png +0 -0
- input-video/00010.png +0 -0
- input-video/00011.png +0 -0
- input-video/00012.png +0 -0
- input-video/00013.png +0 -0
- input-video/00014.png +0 -0
- input-video/00015.png +0 -0
- layout_masks/1/00000.png +0 -0
- layout_masks/1/00001.png +0 -0
- layout_masks/1/00002.png +0 -0
- layout_masks/1/00003.png +0 -0
- layout_masks/1/00004.png +0 -0
- layout_masks/1/00005.png +0 -0
- layout_masks/1/00006.png +0 -0
- layout_masks/1/00007.png +0 -0
- layout_masks/1/00008.png +0 -0
- layout_masks/1/00009.png +0 -0
- layout_masks/1/00010.png +0 -0
- layout_masks/1/00011.png +0 -0
- layout_masks/1/00012.png +0 -0
- layout_masks/1/00013.png +0 -0
- layout_masks/1/00014.png +0 -0
- layout_masks/1/00015.png +0 -0
- layout_masks/2/00000.png +0 -0
- layout_masks/2/00001.png +0 -0
- layout_masks/2/00002.png +0 -0
- layout_masks/2/00003.png +0 -0
- layout_masks/2/00004.png +0 -0
- layout_masks/2/00005.png +0 -0
- layout_masks/2/00006.png +0 -0
- layout_masks/2/00007.png +0 -0
- layout_masks/2/00008.png +0 -0
- layout_masks/2/00009.png +0 -0
- layout_masks/2/00010.png +0 -0
- layout_masks/2/00011.png +0 -0
- layout_masks/2/00012.png +0 -0
- layout_masks/2/00013.png +0 -0
- layout_masks/2/00014.png +0 -0
__pycache__/test.cpython-310.pyc
CHANGED
|
Binary files a/__pycache__/test.cpython-310.pyc and b/__pycache__/test.cpython-310.pyc differ
|
|
|
app.py
CHANGED
|
@@ -11,7 +11,7 @@ from webui.merge_config_gradio import merge_config_then_run
|
|
| 11 |
import huggingface_hub
|
| 12 |
import shutil
|
| 13 |
import os
|
| 14 |
-
|
| 15 |
|
| 16 |
HF_TOKEN = os.getenv('HF_TOKEN')
|
| 17 |
pipe = merge_config_then_run()
|
|
@@ -39,21 +39,10 @@ If you have any questions, please feel free to reach me out at <b>knightyxp@gmai
|
|
| 39 |
"""
|
| 40 |
|
| 41 |
|
|
|
|
|
|
|
|
|
|
| 42 |
|
| 43 |
-
def update_layout_visibility(num):
|
| 44 |
-
"""
|
| 45 |
-
Given the user's selection (string) in ["2","3","4","5"],
|
| 46 |
-
return visibility updates for each of the 5 layout video inputs.
|
| 47 |
-
"""
|
| 48 |
-
n = int(num)
|
| 49 |
-
# Show layout_file1 if n >= 1, layout_file2 if n >= 2, etc.
|
| 50 |
-
return [
|
| 51 |
-
gr.update(visible=(n >= 1)),
|
| 52 |
-
gr.update(visible=(n >= 2)),
|
| 53 |
-
gr.update(visible=(n >= 3)),
|
| 54 |
-
gr.update(visible=(n >= 4)),
|
| 55 |
-
gr.update(visible=(n >= 5))
|
| 56 |
-
]
|
| 57 |
|
| 58 |
with gr.Blocks(css='style.css') as demo:
|
| 59 |
# gr.Markdown(TITLE)
|
|
@@ -138,55 +127,28 @@ with gr.Blocks(css='style.css') as demo:
|
|
| 138 |
info="Please select the number of editing areas"
|
| 139 |
)
|
| 140 |
|
| 141 |
-
#
|
|
|
|
| 142 |
with gr.Row():
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
type="numpy",
|
| 152 |
-
format="mp4",
|
| 153 |
-
visible=True
|
| 154 |
-
)
|
| 155 |
-
layout_file3 = gr.Video(
|
| 156 |
-
label="Layout Video 3",
|
| 157 |
-
type="numpy",
|
| 158 |
-
format="mp4",
|
| 159 |
-
visible=False
|
| 160 |
-
)
|
| 161 |
-
layout_file4 = gr.Video(
|
| 162 |
-
label="Layout Video 4",
|
| 163 |
-
type="numpy",
|
| 164 |
-
format="mp4",
|
| 165 |
-
visible=False
|
| 166 |
-
)
|
| 167 |
-
layout_file5 = gr.Video(
|
| 168 |
-
label="Layout Video 5",
|
| 169 |
-
type="numpy",
|
| 170 |
-
format="mp4",
|
| 171 |
-
visible=False
|
| 172 |
-
)
|
| 173 |
|
| 174 |
-
#
|
| 175 |
num_layouts.change(
|
| 176 |
fn=update_layout_visibility,
|
| 177 |
inputs=num_layouts,
|
| 178 |
-
outputs=
|
| 179 |
-
layout_file1,
|
| 180 |
-
layout_file2,
|
| 181 |
-
layout_file3,
|
| 182 |
-
layout_file4,
|
| 183 |
-
layout_file5
|
| 184 |
-
]
|
| 185 |
)
|
| 186 |
|
| 187 |
prompt = gr.Textbox(label='Prompt',
|
| 188 |
info='Change the prompt, and extract each local prompt in the editing prompts.\
|
| 189 |
-
the local prompt order should be same as layout masks order.)',
|
| 190 |
)
|
| 191 |
|
| 192 |
model_id = gr.Dropdown(
|
|
@@ -198,11 +160,25 @@ with gr.Blocks(css='style.css') as demo:
|
|
| 198 |
value='stable-diffusion-v1-5/stable-diffusion-v1-5')
|
| 199 |
|
| 200 |
|
| 201 |
-
run_button = gr.Button('Generate')
|
| 202 |
-
|
| 203 |
with gr.Column():
|
| 204 |
result = gr.Video(label='Result')
|
| 205 |
# result.style(height=512, width=512)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 206 |
with gr.Row():
|
| 207 |
control_list = ['dwpose', 'depth_zoe', 'depth_midas']
|
| 208 |
control_type = gr.Dropdown(
|
|
@@ -252,7 +228,9 @@ with gr.Blocks(css='style.css') as demo:
|
|
| 252 |
value=["1"],
|
| 253 |
info="Select one or more flatten resolution factors. Mapping: 1 -> 64, 2 -> 32 (64/2), 4 -> 16 (64/4), 8 -> 8 (64/8)."
|
| 254 |
)
|
| 255 |
-
|
|
|
|
|
|
|
| 256 |
|
| 257 |
with gr.Row():
|
| 258 |
from example import style_example
|
|
@@ -278,25 +256,22 @@ with gr.Blocks(css='style.css') as demo:
|
|
| 278 |
# # cache_examples=os.getenv('SYSTEM') == 'spaces'
|
| 279 |
# )
|
| 280 |
gr.Markdown(ARTICLE)
|
| 281 |
-
inputs = [
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
|
| 285 |
-
|
| 286 |
-
|
| 287 |
-
|
| 288 |
-
|
| 289 |
-
|
| 290 |
-
|
| 291 |
-
|
| 292 |
-
|
| 293 |
-
|
| 294 |
-
controlnet_conditioning_scale,
|
| 295 |
-
use_pnp,
|
| 296 |
-
pnp_inject_steps,
|
| 297 |
-
flatten_res,
|
| 298 |
]
|
| 299 |
prompt.submit(fn=pipe.run, inputs=inputs, outputs=result)
|
| 300 |
run_button.click(fn=pipe.run, inputs=inputs, outputs=result)
|
| 301 |
-
|
|
|
|
| 302 |
demo.queue().launch()
|
|
|
|
| 11 |
import huggingface_hub
|
| 12 |
import shutil
|
| 13 |
import os
|
| 14 |
+
import torch
|
| 15 |
|
| 16 |
HF_TOKEN = os.getenv('HF_TOKEN')
|
| 17 |
pipe = merge_config_then_run()
|
|
|
|
| 39 |
"""
|
| 40 |
|
| 41 |
|
| 42 |
+
def update_layout_visibility(selected_num):
|
| 43 |
+
num = int(selected_num)
|
| 44 |
+
return [gr.update(visible=(i < num)) for i in range(len(layout_files))]
|
| 45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
|
| 47 |
with gr.Blocks(css='style.css') as demo:
|
| 48 |
# gr.Markdown(TITLE)
|
|
|
|
| 127 |
info="Please select the number of editing areas"
|
| 128 |
)
|
| 129 |
|
| 130 |
+
# 使用循环生成所有的布局视频组件,并存到列表 layout_files 中
|
| 131 |
+
layout_files = []
|
| 132 |
with gr.Row():
|
| 133 |
+
for i in range(5):
|
| 134 |
+
video = gr.Video(
|
| 135 |
+
label=f"Layout Video {i+1}",
|
| 136 |
+
type="numpy",
|
| 137 |
+
format="mp4",
|
| 138 |
+
visible=(i < 2) # 默认显示前两个
|
| 139 |
+
)
|
| 140 |
+
layout_files.append(video)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 141 |
|
| 142 |
+
# 当 num_layouts 改变时,通过回调函数更新 layout_files 列表中各视频组件的 visible 属性
|
| 143 |
num_layouts.change(
|
| 144 |
fn=update_layout_visibility,
|
| 145 |
inputs=num_layouts,
|
| 146 |
+
outputs=layout_files
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
)
|
| 148 |
|
| 149 |
prompt = gr.Textbox(label='Prompt',
|
| 150 |
info='Change the prompt, and extract each local prompt in the editing prompts.\
|
| 151 |
+
(the local prompt order should be same as layout masks order.)',
|
| 152 |
)
|
| 153 |
|
| 154 |
model_id = gr.Dropdown(
|
|
|
|
| 160 |
value='stable-diffusion-v1-5/stable-diffusion-v1-5')
|
| 161 |
|
| 162 |
|
|
|
|
|
|
|
| 163 |
with gr.Column():
|
| 164 |
result = gr.Video(label='Result')
|
| 165 |
# result.style(height=512, width=512)
|
| 166 |
+
with gr.Accordion('Temporal Crop offset and Sampling Stride', open=False):
|
| 167 |
+
n_sample_frame = gr.Slider(label='Number of Frames',
|
| 168 |
+
minimum=0,
|
| 169 |
+
maximum=32,
|
| 170 |
+
step=1,
|
| 171 |
+
value=16)
|
| 172 |
+
sampling_rate = gr.Slider(label='sampling_rate',
|
| 173 |
+
minimum=0,
|
| 174 |
+
maximum=20,
|
| 175 |
+
step=1,
|
| 176 |
+
value=1)
|
| 177 |
+
start_sample_frame = gr.Number(label='Start frame in the video',
|
| 178 |
+
value=0,
|
| 179 |
+
precision=0)
|
| 180 |
+
|
| 181 |
+
|
| 182 |
with gr.Row():
|
| 183 |
control_list = ['dwpose', 'depth_zoe', 'depth_midas']
|
| 184 |
control_type = gr.Dropdown(
|
|
|
|
| 228 |
value=["1"],
|
| 229 |
info="Select one or more flatten resolution factors. Mapping: 1 -> 64, 2 -> 32 (64/2), 4 -> 16 (64/4), 8 -> 8 (64/8)."
|
| 230 |
)
|
| 231 |
+
|
| 232 |
+
|
| 233 |
+
run_button = gr.Button('Generate')
|
| 234 |
|
| 235 |
with gr.Row():
|
| 236 |
from example import style_example
|
|
|
|
| 256 |
# # cache_examples=os.getenv('SYSTEM') == 'spaces'
|
| 257 |
# )
|
| 258 |
gr.Markdown(ARTICLE)
|
| 259 |
+
inputs = [user_input_video, num_layouts,
|
| 260 |
+
*layout_files,
|
| 261 |
+
prompt,
|
| 262 |
+
model_id,
|
| 263 |
+
n_sample_frame,
|
| 264 |
+
start_sample_frame,
|
| 265 |
+
sampling_rate,
|
| 266 |
+
control_type,
|
| 267 |
+
dwpose_options,
|
| 268 |
+
controlnet_conditioning_scale,
|
| 269 |
+
use_pnp,
|
| 270 |
+
pnp_inject_steps,
|
| 271 |
+
flatten_res,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 272 |
]
|
| 273 |
prompt.submit(fn=pipe.run, inputs=inputs, outputs=result)
|
| 274 |
run_button.click(fn=pipe.run, inputs=inputs, outputs=result)
|
| 275 |
+
if device == 'cuda':
|
| 276 |
+
torch.cuda.empty_cache()
|
| 277 |
demo.queue().launch()
|
config/demo_config.yaml
CHANGED
|
@@ -2,13 +2,13 @@ pretrained_model_path: "/home/xianyang/Data/code/FateZero/ckpt/stable-diffusion-
|
|
| 2 |
logdir: ./result/run_two_man/instance_level/3cls_spider_polar_vis_cross_attn
|
| 3 |
|
| 4 |
dataset_config:
|
| 5 |
-
path: "
|
| 6 |
-
prompt:
|
| 7 |
n_sample_frame: 16
|
| 8 |
start_sample_frame: 0
|
| 9 |
-
sampling_rate:
|
| 10 |
-
layout_mask_dir: "
|
| 11 |
-
layout_mask_order: [
|
| 12 |
negative_promot: "ugly, blurry, low res, unrealistic, unaesthetic"
|
| 13 |
|
| 14 |
control_config:
|
|
@@ -34,7 +34,7 @@ editing_config:
|
|
| 34 |
sample_seeds: [0]
|
| 35 |
num_inference_steps: 50
|
| 36 |
blending_percentage: 0
|
| 37 |
-
vis_cross_attn:
|
| 38 |
#cluster_inversion_feature: True
|
| 39 |
|
| 40 |
|
|
|
|
| 2 |
logdir: ./result/run_two_man/instance_level/3cls_spider_polar_vis_cross_attn
|
| 3 |
|
| 4 |
dataset_config:
|
| 5 |
+
path: ""
|
| 6 |
+
prompt: ""
|
| 7 |
n_sample_frame: 16
|
| 8 |
start_sample_frame: 0
|
| 9 |
+
sampling_rate: 1
|
| 10 |
+
layout_mask_dir: ""
|
| 11 |
+
layout_mask_order: []
|
| 12 |
negative_promot: "ugly, blurry, low res, unrealistic, unaesthetic"
|
| 13 |
|
| 14 |
control_config:
|
|
|
|
| 34 |
sample_seeds: [0]
|
| 35 |
num_inference_steps: 50
|
| 36 |
blending_percentage: 0
|
| 37 |
+
vis_cross_attn: False
|
| 38 |
#cluster_inversion_feature: True
|
| 39 |
|
| 40 |
|
input-video/00000.png
ADDED
|
input-video/00001.png
ADDED
|
input-video/00002.png
ADDED
|
input-video/00003.png
ADDED
|
input-video/00004.png
ADDED
|
input-video/00005.png
ADDED
|
input-video/00006.png
ADDED
|
input-video/00007.png
ADDED
|
input-video/00008.png
ADDED
|
input-video/00009.png
ADDED
|
input-video/00010.png
ADDED
|
input-video/00011.png
ADDED
|
input-video/00012.png
ADDED
|
input-video/00013.png
ADDED
|
input-video/00014.png
ADDED
|
input-video/00015.png
ADDED
|
layout_masks/1/00000.png
ADDED
|
layout_masks/1/00001.png
ADDED
|
layout_masks/1/00002.png
ADDED
|
layout_masks/1/00003.png
ADDED
|
layout_masks/1/00004.png
ADDED
|
layout_masks/1/00005.png
ADDED
|
layout_masks/1/00006.png
ADDED
|
layout_masks/1/00007.png
ADDED
|
layout_masks/1/00008.png
ADDED
|
layout_masks/1/00009.png
ADDED
|
layout_masks/1/00010.png
ADDED
|
layout_masks/1/00011.png
ADDED
|
layout_masks/1/00012.png
ADDED
|
layout_masks/1/00013.png
ADDED
|
layout_masks/1/00014.png
ADDED
|
layout_masks/1/00015.png
ADDED
|
layout_masks/2/00000.png
ADDED
|
layout_masks/2/00001.png
ADDED
|
layout_masks/2/00002.png
ADDED
|
layout_masks/2/00003.png
ADDED
|
layout_masks/2/00004.png
ADDED
|
layout_masks/2/00005.png
ADDED
|
layout_masks/2/00006.png
ADDED
|
layout_masks/2/00007.png
ADDED
|
layout_masks/2/00008.png
ADDED
|
layout_masks/2/00009.png
ADDED
|
layout_masks/2/00010.png
ADDED
|
layout_masks/2/00011.png
ADDED
|
layout_masks/2/00012.png
ADDED
|
layout_masks/2/00013.png
ADDED
|
layout_masks/2/00014.png
ADDED
|