49 lines
2.6 KiB
Diff
49 lines
2.6 KiB
Diff
From 269833067de1e7d0b6a6bd65724743d6b88a133f Mon Sep 17 00:00:00 2001
|
|
From: Kyle <zerouex@gmail.com>
|
|
Date: Thu, 2 Feb 2023 09:37:01 -0500
|
|
Subject: [PATCH] instruct-pix2pix support
|
|
|
|
---
|
|
modules/processing.py | 2 +-
|
|
modules/sd_samplers_kdiffusion.py | 8 ++++----
|
|
2 files changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/modules/processing.py b/modules/processing.py
|
|
index e544c2e16..f299e04da 100644
|
|
--- a/modules/processing.py
|
|
+++ b/modules/processing.py
|
|
@@ -186,7 +186,7 @@ def depth2img_image_conditioning(self, source_image):
|
|
return conditioning
|
|
|
|
def edit_image_conditioning(self, source_image):
|
|
- conditioning_image = self.sd_model.get_first_stage_encoding(self.sd_model.encode_first_stage(source_image))
|
|
+ conditioning_image = self.sd_model.encode_first_stage(source_image).mode()
|
|
|
|
return conditioning_image
|
|
|
|
diff --git a/modules/sd_samplers_kdiffusion.py b/modules/sd_samplers_kdiffusion.py
|
|
index aa7f106b3..31ee22d3f 100644
|
|
--- a/modules/sd_samplers_kdiffusion.py
|
|
+++ b/modules/sd_samplers_kdiffusion.py
|
|
@@ -77,9 +77,9 @@ def forward(self, x, sigma, uncond, cond, cond_scale, image_cond):
|
|
batch_size = len(conds_list)
|
|
repeats = [len(conds_list[i]) for i in range(batch_size)]
|
|
|
|
- x_in = torch.cat([torch.stack([x[i] for _ in range(n)]) for i, n in enumerate(repeats)] + [x])
|
|
- image_cond_in = torch.cat([torch.stack([image_cond[i] for _ in range(n)]) for i, n in enumerate(repeats)] + [image_cond])
|
|
- sigma_in = torch.cat([torch.stack([sigma[i] for _ in range(n)]) for i, n in enumerate(repeats)] + [sigma])
|
|
+ x_in = torch.cat([torch.stack([x[i] for _ in range(n)]) for i, n in enumerate(repeats)] + [x] + [x])
|
|
+ sigma_in = torch.cat([torch.stack([sigma[i] for _ in range(n)]) for i, n in enumerate(repeats)] + [sigma] + [sigma])
|
|
+ image_cond_in = torch.cat([torch.stack([image_cond[i] for _ in range(n)]) for i, n in enumerate(repeats)] + [image_cond] + [image_cond])
|
|
|
|
denoiser_params = CFGDenoiserParams(x_in, image_cond_in, sigma_in, state.sampling_step, state.sampling_steps)
|
|
cfg_denoiser_callback(denoiser_params)
|
|
@@ -88,7 +88,7 @@ def forward(self, x, sigma, uncond, cond, cond_scale, image_cond):
|
|
sigma_in = denoiser_params.sigma
|
|
|
|
if tensor.shape[1] == uncond.shape[1]:
|
|
- cond_in = torch.cat([tensor, uncond])
|
|
+ cond_in = torch.cat([tensor, uncond, uncond])
|
|
|
|
if shared.batch_cond_uncond:
|
|
x_out = self.inner_model(x_in, sigma_in, cond={"c_crossattn": [cond_in], "c_concat": [image_cond_in]})
|