From c3f02f11e4da3a8798d56b443715c13899e64d39 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 21 Dec 2024 10:56:24 -0500 Subject: [PATCH] fix xyz with lora none Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + modules/processing_args.py | 5 ++++- modules/sd_samplers.py | 3 ++- scripts/xyz_grid_shared.py | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f62738950..6c45ff463 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -207,6 +207,7 @@ All-in-all, we're around ~160 commits worth of updates, check changelog for full - notify on torch install - detect pipeline fro diffusers folder-style model - do not recast flux quants +- fix xyz-grid with lora none ## Update for 2024-11-21 diff --git a/modules/processing_args.py b/modules/processing_args.py index 3709368ee..5ca6cfcd3 100644 --- a/modules/processing_args.py +++ b/modules/processing_args.py @@ -320,11 +320,14 @@ def set_pipeline_args(p, model, prompts: list, negative_prompts: list, prompts_2 clean['negative_prompt'] = len(clean['negative_prompt']) clean.pop('generator', None) clean['parser'] = parser - for k, v in clean.items(): + for k, v in clean.copy().items(): if isinstance(v, torch.Tensor) or isinstance(v, np.ndarray): clean[k] = v.shape if isinstance(v, list) and len(v) > 0 and (isinstance(v[0], torch.Tensor) or isinstance(v[0], np.ndarray)): clean[k] = [x.shape for x in v] + if not debug_enabled and k.endswith('_embeds'): + del clean[k] + clean['prompt'] = 'embeds' shared.log.debug(f'Diffuser pipeline: {model.__class__.__name__} task={sd_models.get_diffusers_task(model)} batch={p.iteration + 1}/{p.n_iter}x{p.batch_size} set={clean}') if p.hdr_clamp or p.hdr_maximize or p.hdr_brightness != 0 or p.hdr_color != 0 or p.hdr_sharpen != 0: diff --git a/modules/sd_samplers.py b/modules/sd_samplers.py index 1b1be2d1a..dc58a2419 100644 --- a/modules/sd_samplers.py +++ b/modules/sd_samplers.py @@ -94,7 +94,8 @@ def create_sampler(name, model): if hasattr(model, "prior_pipe") and hasattr(model.prior_pipe, "scheduler"): model.prior_pipe.scheduler = sampler.sampler model.prior_pipe.scheduler.config.clip_sample = False - shared.log.debug(f'Sampler: sampler="{sampler.name}" class="{model.scheduler.__class__.__name__} config={sampler.config}') + clean_config = {k: v for k, v in sampler.config.items() if v is not None and v is not False} + shared.log.debug(f'Sampler: sampler="{sampler.name}" class="{model.scheduler.__class__.__name__} config={clean_config}') return sampler.sampler else: return None diff --git a/scripts/xyz_grid_shared.py b/scripts/xyz_grid_shared.py index 3fc8d32c8..f9bf26c67 100644 --- a/scripts/xyz_grid_shared.py +++ b/scripts/xyz_grid_shared.py @@ -198,12 +198,12 @@ def list_lora(): def apply_lora(p, x, xs): + p.all_prompts = None + p.all_negative_prompts = None if x == 'None': return x = os.path.basename(x) p.prompt = p.prompt + f" " - p.all_prompts = None - p.all_negative_prompts = None shared.log.debug(f'XYZ grid apply LoRA: "{x}"')