Spaces:
Running
on
Zero
Running
on
Zero
Update qwenimage/pipeline_qwen_image_edit.py
Browse files
qwenimage/pipeline_qwen_image_edit.py
CHANGED
@@ -744,11 +744,19 @@ class QwenImageEditPipeline(DiffusionPipeline, QwenImageLoraLoaderMixin):
|
|
744 |
self._attention_kwargs = {}
|
745 |
|
746 |
txt_seq_lens = prompt_embeds_mask.sum(dim=1).tolist() if prompt_embeds_mask is not None else None
|
747 |
-
negative_txt_seq_lens = (
|
748 |
-
negative_prompt_embeds_mask.sum(dim=1).tolist() if negative_prompt_embeds_mask is not None else None
|
749 |
-
)
|
750 |
|
751 |
image_rotary_emb = self.transformer.pos_embed(img_shapes, txt_seq_lens, device=latents.device)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
752 |
|
753 |
# 6. Denoising loop
|
754 |
self.scheduler.set_begin_index(0)
|
@@ -786,7 +794,7 @@ class QwenImageEditPipeline(DiffusionPipeline, QwenImageLoraLoaderMixin):
|
|
786 |
guidance=guidance,
|
787 |
encoder_hidden_states_mask=negative_prompt_embeds_mask,
|
788 |
encoder_hidden_states=negative_prompt_embeds,
|
789 |
-
image_rotary_emb=
|
790 |
attention_kwargs=self.attention_kwargs,
|
791 |
return_dict=False,
|
792 |
)[0]
|
@@ -846,4 +854,4 @@ class QwenImageEditPipeline(DiffusionPipeline, QwenImageLoraLoaderMixin):
|
|
846 |
if not return_dict:
|
847 |
return (image,)
|
848 |
|
849 |
-
return QwenImagePipelineOutput(images=image)
|
|
|
744 |
self._attention_kwargs = {}
|
745 |
|
746 |
txt_seq_lens = prompt_embeds_mask.sum(dim=1).tolist() if prompt_embeds_mask is not None else None
|
|
|
|
|
|
|
747 |
|
748 |
image_rotary_emb = self.transformer.pos_embed(img_shapes, txt_seq_lens, device=latents.device)
|
749 |
+
if do_true_cfg:
|
750 |
+
negative_txt_seq_lens = (
|
751 |
+
negative_prompt_embeds_mask.sum(dim=1).tolist()
|
752 |
+
if negative_prompt_embeds_mask is not None
|
753 |
+
else None
|
754 |
+
)
|
755 |
+
uncond_image_rotary_emb = self.transformer.pos_embed(
|
756 |
+
img_shapes, negative_txt_seq_lens, device=latents.device
|
757 |
+
)
|
758 |
+
else:
|
759 |
+
uncond_image_rotary_emb = None
|
760 |
|
761 |
# 6. Denoising loop
|
762 |
self.scheduler.set_begin_index(0)
|
|
|
794 |
guidance=guidance,
|
795 |
encoder_hidden_states_mask=negative_prompt_embeds_mask,
|
796 |
encoder_hidden_states=negative_prompt_embeds,
|
797 |
+
image_rotary_emb=uncond_image_rotary_emb,
|
798 |
attention_kwargs=self.attention_kwargs,
|
799 |
return_dict=False,
|
800 |
)[0]
|
|
|
854 |
if not return_dict:
|
855 |
return (image,)
|
856 |
|
857 |
+
return QwenImagePipelineOutput(images=image)
|