This commit is contained in:
lllyasviel
2024-01-30 20:27:06 -08:00
parent 15e9865f94
commit c2e2d0ea9b
3 changed files with 48 additions and 9 deletions

View File

@@ -39,6 +39,20 @@ def compute_cond_mark(cond_or_uncond, sigmas):
return cond_mark
def compute_cond_indices(cond_or_uncond, sigmas):
cl = int(sigmas.shape[0])
cond_indices = []
uncond_indices = []
for i, cx in enumerate(cond_or_uncond):
if cx == 0:
cond_indices += list(range(i * cl, (i + 1) * cl))
else:
uncond_indices += list(range(i * cl, (i + 1) * cl))
return cond_indices, uncond_indices
def generate_random_filename(extension=".txt"):
timestamp = time.strftime("%Y%m%d-%H%M%S")
random_string = ''.join(random.choices(string.ascii_lowercase + string.digits, k=5))

View File

@@ -8,7 +8,7 @@ from ldm_patched.modules.controlnet import ControlBase
from ldm_patched.modules.samplers import get_area_and_mult, can_concat_cond, cond_cat
from ldm_patched.modules import model_management
from modules_forge.controlnet import compute_controlnet_weighting
from modules_forge.forge_util import compute_cond_mark
from modules_forge.forge_util import compute_cond_mark, compute_cond_indices
def patched_control_merge(self, control_input, control_output, control_prev, output_dtype):
@@ -155,8 +155,8 @@ def patched_calc_cond_uncond_batch(model, cond, uncond, x_in, timestep, model_op
transformer_options["cond_or_uncond"] = cond_or_uncond[:]
transformer_options["sigmas"] = timestep
cond_mark = compute_cond_mark(cond_or_uncond=cond_or_uncond, sigmas=timestep)
transformer_options["cond_mark"] = cond_mark
transformer_options["cond_mark"] = compute_cond_mark(cond_or_uncond=cond_or_uncond, sigmas=timestep)
transformer_options["cond_indices"], transformer_options["uncond_indices"] = compute_cond_indices(cond_or_uncond=cond_or_uncond, sigmas=timestep)
c['transformer_options'] = transformer_options