diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-08-15 05:26:38 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-15 05:26:38 +0000 |
commit | d6b79b99631054033ffde645ff32756c1216bc5f (patch) | |
tree | 9347adb145a364540e1e18a7ba2249adf3d661e6 /scripts | |
parent | 6f865732478fb12e7a08413392c0ca0475a8c729 (diff) | |
parent | 3b2f51602dbd1a8a94706ae71943403f07539b1c (diff) | |
download | stable-diffusion-webui-gfx803-d6b79b99631054033ffde645ff32756c1216bc5f.tar.gz stable-diffusion-webui-gfx803-d6b79b99631054033ffde645ff32756c1216bc5f.tar.bz2 stable-diffusion-webui-gfx803-d6b79b99631054033ffde645ff32756c1216bc5f.zip |
Merge pull request #12476 from AnyISalIn/dev
xyz_grid: support refiner_checkpoint and refiner_switch_at
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/xyz_grid.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/xyz_grid.py b/scripts/xyz_grid.py index da0e48aa..017a470f 100644 --- a/scripts/xyz_grid.py +++ b/scripts/xyz_grid.py @@ -85,6 +85,23 @@ def confirm_checkpoints(p, xs): if modules.sd_models.get_closet_checkpoint_match(x) is None:
raise RuntimeError(f"Unknown checkpoint: {x}")
+def apply_refiner_checkpoint(p, x, xs):
+ if x == 'None':
+ p.override_settings['sd_refiner_checkpoint'] = 'None'
+ return
+
+ info = modules.sd_models.get_closet_checkpoint_match(x)
+ if info is None:
+ raise RuntimeError(f"Unknown checkpoint: {x}")
+ p.override_settings['sd_refiner_checkpoint'] = info.name
+
+def confirm_refiner_checkpoints(p, xs):
+ for x in xs:
+ if x == 'None':
+ continue
+ if modules.sd_models.get_closet_checkpoint_match(x) is None:
+ raise RuntimeError(f"Unknown checkpoint: {x}")
+
def apply_clip_skip(p, x, xs):
opts.data["CLIP_stop_at_last_layers"] = x
@@ -250,6 +267,8 @@ axis_options = [ AxisOption("Token merging ratio", float, apply_override('token_merging_ratio')),
AxisOption("Token merging ratio high-res", float, apply_override('token_merging_ratio_hr')),
AxisOption("Always discard next-to-last sigma", str, apply_override('always_discard_next_to_last_sigma', boolean=True), choices=boolean_choice(reverse=True)),
+ AxisOption("Refiner checkpoint", str, apply_refiner_checkpoint, format_value=format_remove_path, confirm=confirm_refiner_checkpoints, cost=1.0, choices=lambda: ['None'] + sorted(sd_models.checkpoints_list, key=str.casefold)),
+ AxisOption("Refiner switch at", float, apply_override('sd_refiner_switch_at'))
]
|