Merge pull request #560 from DrJKL/drjkl/fix/schedule_indices

Fix the scheduling issue with held prompts in prompt interpolation
This commit is contained in:
Jedrzej Kosinski
2025-08-05 20:11:15 -07:00
committed by GitHub
+3 -3
View File
@@ -335,11 +335,11 @@ def _handle_prompt_interpolation(pairs: list[InputPair], length: int, clip: CLIP
continue
if holder is None:
holder = prev_holder
real_prompt = apply_values_replace_to_prompt(pair.val, i, values_replace=values_replace)
real_prompt = apply_values_replace_to_prompt(holder.raw_prompt, i, values_replace=values_replace)
if holder.prompt != real_prompt:
cond, pooled = clip.encode_from_tokens(clip.tokenize(real_prompt), return_pooled=True)
cond = pad_cond(cond, target_length=max_size)
holder = CondHolder(idx=i, prompt=real_prompt, raw_prompt=pair.val, cond=cond, pooled=pooled, hold=pair.hold)
holder = replace(holder, idx=i, prompt=real_prompt, cond=cond, pooled=pooled)
else:
holder = replace(holder)
holder.idx = i
@@ -380,7 +380,7 @@ def _handle_prompt_interpolation(pairs: list[InputPair], length: int, clip: CLIP
if holder is None or holder.prompt != real_prompt:
cond_to, pooled_to = clip.encode_from_tokens(clip.tokenize(real_prompt), return_pooled=True)
cond_to = pad_cond(cond_to, target_length=max_size)
holder = CondHolder(idx=idx_int, prompt=real_prompt, raw_prompt=pair.val, cond=cond_to, pooled=pooled_to, hold=pair.hold)
holder = CondHolder(idx=pair.idx, prompt=real_prompt, raw_prompt=pair.val, cond=cond_to, pooled=pooled_to, hold=pair.hold)
# calculate interm_holder stuff if needed
real_prompt = apply_values_replace_to_prompt(interm_holder.raw_prompt, idx_int, values_replace=values_replace)
if interm_holder.prompt != real_prompt: