Spaces:
Build error
Build error
solitarycodefinement
commited on
Commit
·
0ba7413
1
Parent(s):
f0266e1
christmas models
Browse files
app.py
CHANGED
@@ -141,15 +141,14 @@ class ImageEditor(object):
|
|
141 |
|
142 |
def _pack_edits(func):
|
143 |
def inner(self,
|
144 |
-
|
145 |
-
pose_slider,
|
146 |
smile_slider,
|
147 |
gender_slider,
|
148 |
age_slider,
|
149 |
hair_slider,
|
150 |
*args):
|
151 |
|
152 |
-
edit_choices = {
|
153 |
"pose": pose_slider,
|
154 |
"smile": smile_slider,
|
155 |
"gender": gender_slider,
|
@@ -164,14 +163,13 @@ class ImageEditor(object):
|
|
164 |
|
165 |
target_latents = []
|
166 |
|
167 |
-
|
168 |
-
np_source_latent = source_latent.squeeze(0).cpu().detach().numpy()
|
169 |
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
|
176 |
|
177 |
# if edit type is none or if all sliders were set to 0
|
@@ -272,24 +270,11 @@ with blocks:
|
|
272 |
with gr.Column():
|
273 |
style_choice = gr.inputs.CheckboxGroup(choices=editor.get_style_list(), type="value", label="Choose your styles!")
|
274 |
|
275 |
-
editing_type_choice = gr.Radio(choices=["None", "InterFaceGAN"], label="Choose latent space editing option. For InterFaceGAN and StyleCLIP, set the options below:")
|
276 |
-
|
277 |
with gr.Row():
|
278 |
with gr.Column():
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
img_output = gr.Gallery(label="Output Images")
|
283 |
-
|
284 |
-
with gr.TabItem("Create Video"):
|
285 |
-
with gr.Row():
|
286 |
-
vid_button = gr.Button("Generate Video")
|
287 |
-
loop_styles = gr.inputs.Checkbox(default=True, label="Loop video back to the initial style?")
|
288 |
-
with gr.Row():
|
289 |
-
with gr.Column():
|
290 |
-
gr.Markdown("Warning: Videos generation requires the synthesis of hundreds of frames and is expected to take several minutes.")
|
291 |
-
gr.Markdown("To reduce queue times, we significantly reduced the number of video frames. Using more than 3 styles will further reduce the frames per style, leading to quicker transitions. For better control, we recommend cloning the gradio app, adjusting <b>num_alphas</b> in <b>generate_videos.py</b>, and running the code locally.")
|
292 |
-
vid_output = gr.outputs.Video(label="Output Video")
|
293 |
|
294 |
with gr.Column():
|
295 |
gr.Markdown("Move the sliders to make the chosen attribute stronger (e.g. the person older) or leave at 0 to disable editing.")
|
@@ -306,11 +291,7 @@ with blocks:
|
|
306 |
|
307 |
ig_edit_choices = [pose_slider, smile_slider, gender_slider, age_slider, hair_slider]
|
308 |
|
309 |
-
|
310 |
-
edit_inputs = [editing_type_choice] + ig_edit_choices
|
311 |
-
print(edit_inputs)
|
312 |
-
img_button.click(fn=editor.edit_image, inputs=edit_inputs + [input_img, style_choice], outputs=img_output)
|
313 |
-
vid_button.click(fn=editor.edit_video, inputs=edit_inputs + [input_img, style_choice, loop_styles], outputs=vid_output)
|
314 |
|
315 |
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>"
|
316 |
gr.Markdown(article)
|
|
|
141 |
|
142 |
def _pack_edits(func):
|
143 |
def inner(self,
|
144 |
+
pose_slider,
|
|
|
145 |
smile_slider,
|
146 |
gender_slider,
|
147 |
age_slider,
|
148 |
hair_slider,
|
149 |
*args):
|
150 |
|
151 |
+
edit_choices = {
|
152 |
"pose": pose_slider,
|
153 |
"smile": smile_slider,
|
154 |
"gender": gender_slider,
|
|
|
163 |
|
164 |
target_latents = []
|
165 |
|
166 |
+
np_source_latent = source_latent.squeeze(0).cpu().detach().numpy()
|
|
|
167 |
|
168 |
+
for attribute_name in ["pose", "smile", "gender", "age", "hair_length"]:
|
169 |
+
strength = edit_choices[attribute_name]
|
170 |
+
if strength != 0.0:
|
171 |
+
projected_code_np = project_code_by_edit_name(np_source_latent, attribute_name, strength)
|
172 |
+
target_latents.append(torch.from_numpy(projected_code_np).float().to(self.device))
|
173 |
|
174 |
|
175 |
# if edit type is none or if all sliders were set to 0
|
|
|
270 |
with gr.Column():
|
271 |
style_choice = gr.inputs.CheckboxGroup(choices=editor.get_style_list(), type="value", label="Choose your styles!")
|
272 |
|
|
|
|
|
273 |
with gr.Row():
|
274 |
with gr.Column():
|
275 |
+
img_button = gr.Button("Edit Image")
|
276 |
+
img_output = gr.Gallery(label="Output Images")
|
277 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
279 |
with gr.Column():
|
280 |
gr.Markdown("Move the sliders to make the chosen attribute stronger (e.g. the person older) or leave at 0 to disable editing.")
|
|
|
291 |
|
292 |
ig_edit_choices = [pose_slider, smile_slider, gender_slider, age_slider, hair_slider]
|
293 |
|
294 |
+
img_button.click(fn=editor.edit_image, inputs=ig_edit_choices + [input_img, style_choice], outputs=img_output)
|
|
|
|
|
|
|
|
|
295 |
|
296 |
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>"
|
297 |
gr.Markdown(article)
|