Update pipeline.py
Browse files- pipeline.py +20 -8
pipeline.py
CHANGED
@@ -1064,14 +1064,26 @@ class StableDiffusionPipeline(
|
|
1064 |
# perform guidance
|
1065 |
if self.do_classifier_free_guidance:
|
1066 |
if lora_composite:
|
1067 |
-
noise_preds = torch.stack(noise_preds, dim=0)
|
1068 |
-
print(noise_preds.size())
|
1069 |
-
noise_pred_uncond, noise_pred_text = noise_preds.chunk(2, dim=-1)
|
1070 |
-
print(noise_pred_uncond.size())
|
1071 |
-
print(noise_pred_text.size())
|
1072 |
-
noise_pred_uncond = noise_pred_uncond.mean(dim=0)
|
1073 |
-
noise_pred_text = noise_pred_text.mean(dim=0)
|
1074 |
-
noise_pred = noise_pred_uncond + self.guidance_scale * (noise_pred_text - noise_pred_uncond)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1075 |
else:
|
1076 |
noise_pred_uncond, noise_pred_text = noise_pred.chunk(2)
|
1077 |
noise_pred = noise_pred_uncond + self.guidance_scale * (noise_pred_text - noise_pred_uncond)
|
|
|
1064 |
# perform guidance
|
1065 |
if self.do_classifier_free_guidance:
|
1066 |
if lora_composite:
|
1067 |
+
# noise_preds = torch.stack(noise_preds, dim=0)
|
1068 |
+
# print(noise_preds.size())
|
1069 |
+
# noise_pred_uncond, noise_pred_text = noise_preds.chunk(2, dim=-1)
|
1070 |
+
# print(noise_pred_uncond.size())
|
1071 |
+
# print(noise_pred_text.size())
|
1072 |
+
# noise_pred_uncond = noise_pred_uncond.mean(dim=0)
|
1073 |
+
# noise_pred_text = noise_pred_text.mean(dim=0)
|
1074 |
+
# noise_pred = noise_pred_uncond + self.guidance_scale * (noise_pred_text - noise_pred_uncond)
|
1075 |
+
|
1076 |
+
noise_pred_uncond, noise_pred_text = 0, 0
|
1077 |
+
for lora_i in range(len(noise_preds)):
|
1078 |
+
cur_noise_pred_uncond, cur_noise_pred_text = noise_preds[lora_i].chunk(2)
|
1079 |
+
print(noise_preds[lora_i].size())
|
1080 |
+
print(cur_noise_pred_uncond.size())
|
1081 |
+
prnt(cur_noise_pred_text.size())
|
1082 |
+
noise_pred_uncond += cur_noise_pred_uncond
|
1083 |
+
noise_pred_text += self.guidance_scale * (cur_noise_pred_text - cur_noise_pred_uncond)
|
1084 |
+
noise_pred_uncond /= len(noise_preds)
|
1085 |
+
noise_pred_text /= len(noise_preds)
|
1086 |
+
noise_pred = noise_pred_uncond + noise_pred_text
|
1087 |
else:
|
1088 |
noise_pred_uncond, noise_pred_text = noise_pred.chunk(2)
|
1089 |
noise_pred = noise_pred_uncond + self.guidance_scale * (noise_pred_text - noise_pred_uncond)
|