Spaces:
Runtime error
Runtime error
Updated to new blocks SDK, testing visibility
Browse files- README.md +1 -1
- app.py +48 -50
- generate_videos.py +1 -1
README.md
CHANGED
@@ -4,7 +4,7 @@ emoji: 🌖
|
|
4 |
colorFrom: blue
|
5 |
colorTo: gray
|
6 |
sdk: gradio
|
7 |
-
sdk_version: 3.
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
license: mit
|
|
|
4 |
colorFrom: blue
|
5 |
colorTo: gray
|
6 |
sdk: gradio
|
7 |
+
sdk_version: 3.0.1
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
license: mit
|
app.py
CHANGED
@@ -236,17 +236,17 @@ class ImageEditor(object):
|
|
236 |
|
237 |
editor = ImageEditor()
|
238 |
|
239 |
-
|
240 |
|
241 |
-
|
242 |
-
|
243 |
|
244 |
-
|
245 |
|
246 |
-
def group_visibility(visible):
|
247 |
-
|
248 |
|
249 |
-
|
250 |
|
251 |
blocks = gr.Blocks()
|
252 |
|
@@ -259,61 +259,59 @@ with blocks:
|
|
259 |
"For more information about the paper and code for training your own models (with examples OR text), see below."
|
260 |
)
|
261 |
|
262 |
-
|
263 |
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
|
268 |
-
|
269 |
-
|
270 |
-
# video_options_group = gr.Group()
|
271 |
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
|
285 |
-
|
286 |
-
|
287 |
|
288 |
-
|
289 |
# video_choice.change(fn=group_visibility, inputs=video_choice, outputs=video_options_group)
|
290 |
-
|
291 |
-
|
292 |
|
293 |
-
with gr.Row():
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
with gr.Tabs():
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
|
312 |
-
|
313 |
-
|
314 |
|
315 |
-
img_button.click(fn=editor.edit_image, inputs=[input_img, style_choice], outputs=img_output)
|
316 |
-
vid_button.click(fn=editor.edit_video, inputs=[input_img, style_choice, edit_choice, vid_format_choice, loop_styles], outputs=vid_output)
|
317 |
|
318 |
article = "<p style='text-align: center'><a href='https://arxiv.org/abs/2108.00946' target='_blank'>StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators</a> | <a href='https://stylegan-nada.github.io/' target='_blank'>Project Page</a> | <a href='https://github.com/rinongal/StyleGAN-nada' target='_blank'>Code</a></p> <center><img src='https://visitor-badge.glitch.me/badge?page_id=rinong_sgnada' alt='visitor badge'></center>"
|
319 |
gr.Markdown(article)
|
|
|
236 |
|
237 |
editor = ImageEditor()
|
238 |
|
239 |
+
def change_component_visibility(component_types, invert_choices):
|
240 |
|
241 |
+
def visibility_impl(visible):
|
242 |
+
return [component_types[idx].update(visible=visible ^ invert_choices[idx]) for idx in range(len(component_types))]
|
243 |
|
244 |
+
return visibility_impl
|
245 |
|
246 |
+
# def group_visibility(visible):
|
247 |
+
# print("visible: ", visible)
|
248 |
|
249 |
+
# return gr.Group.update(visibile=visible)
|
250 |
|
251 |
blocks = gr.Blocks()
|
252 |
|
|
|
259 |
"For more information about the paper and code for training your own models (with examples OR text), see below."
|
260 |
)
|
261 |
|
262 |
+
with gr.Row():
|
263 |
|
264 |
+
with gr.Column():
|
265 |
+
input_img = gr.inputs.Image(type="filepath", label="Input image")
|
266 |
+
style_choice = gr.inputs.CheckboxGroup(choices=editor.get_style_list(), type="value", label="Choose your styles!")
|
267 |
|
268 |
+
video_choice = gr.inputs.Checkbox(default=False, label="Generate Video?", optional=False)
|
|
|
|
|
269 |
|
270 |
+
loop_styles = gr.inputs.Checkbox(default=True, label="Loop video back to the initial style?", visible=False)
|
271 |
+
edit_choice = gr.inputs.Checkbox(default=False, label="With Editing?", visible=False)
|
272 |
+
vid_format_choice = gr.inputs.Radio(choices=["gif", "mp4"], type="value", default='mp4', label="Video Format", visible=False)
|
273 |
|
274 |
+
# img_button = gr.Button("Edit Image")
|
275 |
+
# vid_button = gr.Button("Generate Video")
|
276 |
+
img_button = gr.Button("Edit Image")
|
277 |
+
vid_button = gr.Button("Generate Video", visible=False)
|
278 |
|
279 |
+
with gr.Column():
|
280 |
+
img_output = gr.outputs.Image(type="file")
|
281 |
+
vid_output = gr.outputs.Video(visible=False)
|
282 |
|
283 |
+
visibility_fn = change_component_visibility(component_types=[gr.Checkbox, gr.Radio, gr.Video, gr.Button, gr.Image, gr.Button, gr.Checkbox],
|
284 |
+
invert_choices=[False, False, False, False, True, True, False])
|
285 |
|
286 |
+
video_choice.change(fn=visibility_fn, inputs=video_choice, outputs=[edit_choice, vid_format_choice, vid_output, vid_button, img_output, img_button])
|
287 |
# video_choice.change(fn=group_visibility, inputs=video_choice, outputs=video_options_group)
|
288 |
+
img_button.click(fn=editor.edit_image, inputs=[input_img, style_choice], outputs=img_output)
|
289 |
+
vid_button.click(fn=editor.edit_video, inputs=[input_img, style_choice, edit_choice, vid_format_choice, loop_styles], outputs=vid_output)
|
290 |
|
291 |
+
# with gr.Row():
|
292 |
+
# input_img = gr.inputs.Image(type="filepath", label="Input image")
|
293 |
+
# style_choice = gr.inputs.CheckboxGroup(choices=editor.get_style_list(), type="value", label="Choose your styles!")
|
294 |
+
|
295 |
+
# with gr.Tabs():
|
296 |
+
# with gr.TabItem("Edit Images"):
|
297 |
+
# with gr.Column():
|
298 |
+
# img_button = gr.Button("Edit Image")
|
299 |
+
# with gr.Column():
|
300 |
+
# img_output = gr.outputs.Image(type="file", label="Output Image")
|
301 |
|
302 |
+
# with gr.TabItem("Create Video"):
|
303 |
+
# with gr.Column():
|
304 |
+
# with gr.Row():
|
305 |
+
# vid_button = gr.Button("Generate Video")
|
306 |
+
# loop_styles = gr.inputs.Checkbox(default=True, label="Loop video back to the initial style?")
|
307 |
+
# edit_choice = gr.inputs.Checkbox(default=False, label="With latent space editing?")
|
308 |
+
# vid_format_choice = gr.inputs.Radio(choices=["gif", "mp4"], type="value", default='mp4', label="Video Format")
|
309 |
|
310 |
+
# with gr.Column():
|
311 |
+
# vid_output = gr.outputs.Video(label="Output Video")
|
312 |
|
313 |
+
# img_button.click(fn=editor.edit_image, inputs=[input_img, style_choice], outputs=img_output)
|
314 |
+
# vid_button.click(fn=editor.edit_video, inputs=[input_img, style_choice, edit_choice, vid_format_choice, loop_styles], outputs=vid_output)
|
315 |
|
316 |
article = "<p style='text-align: center'><a href='https://arxiv.org/abs/2108.00946' target='_blank'>StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators</a> | <a href='https://stylegan-nada.github.io/' target='_blank'>Project Page</a> | <a href='https://github.com/rinongal/StyleGAN-nada' target='_blank'>Code</a></p> <center><img src='https://visitor-badge.glitch.me/badge?page_id=rinong_sgnada' alt='visitor badge'></center>"
|
317 |
gr.Markdown(article)
|
generate_videos.py
CHANGED
@@ -151,7 +151,7 @@ def video_from_interpolations(fps, output_dir):
|
|
151 |
"-r", f"{fps}",
|
152 |
"-i", f"{output_dir}/%03d.jpg",
|
153 |
"-c:v", "libx264",
|
154 |
-
"-vf", f"fps={fps}
|
155 |
"-pix_fmt", "yuv420p",
|
156 |
f"{output_dir}/out.mp4"]
|
157 |
|
|
|
151 |
"-r", f"{fps}",
|
152 |
"-i", f"{output_dir}/%03d.jpg",
|
153 |
"-c:v", "libx264",
|
154 |
+
"-vf", f"fps={fps}",
|
155 |
"-pix_fmt", "yuv420p",
|
156 |
f"{output_dir}/out.mp4"]
|
157 |
|