mirror of
https://github.com/vladmandic/automatic
synced 2026-09-18 08:44:33 +02:00
sampler options rewrite
Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from scripts.xyz_grid_shared import apply_field, apply_task_args, apply_setting, apply_prompt, apply_order, apply_sampler, apply_hr_sampler_name, confirm_samplers, apply_checkpoint, apply_refiner, apply_unet, apply_dict, apply_clip_skip, apply_vae, list_lora, apply_lora, apply_te, apply_styles, apply_upscaler, apply_context, apply_face_restore, apply_override, apply_processing, apply_seed, format_value_add_label, format_value, format_value_join_list, do_nothing, format_nothing, str_permutations # pylint: disable=no-name-in-module
|
||||
from scripts.xyz_grid_shared import apply_field, apply_task_args, apply_setting, apply_prompt, apply_order, apply_sampler, apply_hr_sampler_name, confirm_samplers, apply_checkpoint, apply_refiner, apply_unet, apply_dict, apply_clip_skip, apply_vae, list_lora, apply_lora, apply_te, apply_styles, apply_upscaler, apply_context, apply_face_restore, apply_override, apply_processing, apply_options, apply_seed, format_value_add_label, format_value, format_value_join_list, do_nothing, format_nothing, str_permutations # pylint: disable=no-name-in-module
|
||||
from modules import shared, shared_items, sd_samplers, ipadapter, sd_models, sd_vae, sd_unet
|
||||
|
||||
|
||||
@@ -104,18 +104,19 @@ axis_options = [
|
||||
AxisOptionImg2Img("[Param] Mask weight", float, apply_field("inpainting_mask_weight")),
|
||||
AxisOption("[Process] Model args", str, apply_task_args),
|
||||
AxisOption("[Process] Processing args", str, apply_processing),
|
||||
AxisOption("[Process] Server options", str, apply_options),
|
||||
AxisOptionTxt2Img("[Sampler] Name", str, apply_sampler, fmt=format_value, confirm=confirm_samplers, choices=lambda: [x.name for x in sd_samplers.samplers]),
|
||||
AxisOptionImg2Img("[Sampler] Name", str, apply_sampler, fmt=format_value, confirm=confirm_samplers, choices=lambda: [x.name for x in sd_samplers.samplers_for_img2img]),
|
||||
AxisOption("[Sampler] Sigma method", str, apply_setting("schedulers_sigma"), choices=lambda: ['default', 'karras', 'beta', 'exponential']),
|
||||
AxisOption("[Sampler] Timestep spacing", str, apply_setting("schedulers_timestep_spacing"), choices=lambda: ['default', 'linspace', 'leading', 'trailing']),
|
||||
AxisOption("[Sampler] Sigma min", float, apply_field("s_min")),
|
||||
AxisOption("[Sampler] Sigma max", float, apply_field("s_max")),
|
||||
AxisOption("[Sampler] Sigma tmin", float, apply_field("s_tmin")),
|
||||
AxisOption("[Sampler] Sigma tmax", float, apply_field("s_tmax")),
|
||||
AxisOption("[Sampler] Sigma churn", float, apply_field("s_churn")),
|
||||
AxisOption("[Sampler] Sigma noise", float, apply_field("s_noise")),
|
||||
AxisOption("[Sampler] Shift", float, apply_setting("schedulers_shift")),
|
||||
AxisOption("[Sampler] ETA", float, apply_setting("scheduler_eta")),
|
||||
AxisOption("[Sampler] Timestep range", int, apply_setting("schedulers_timesteps_range")),
|
||||
AxisOption("[Sampler] Solver order", int, apply_setting("schedulers_solver_order")),
|
||||
AxisOption("[Sampler] Beta schedule", str, apply_setting("schedulers_beta_schedule"), choices=lambda: ['default', 'linear', 'scaled', 'cosine']),
|
||||
AxisOption("[Sampler] Beta start", float, apply_setting("schedulers_beta_start")),
|
||||
AxisOption("[Sampler] Beta end", float, apply_setting("schedulers_beta_end")),
|
||||
AxisOption("[Sampler] Shift", float, apply_setting("schedulers_shift")),
|
||||
AxisOption("[Sampler] eta delta", float, apply_setting("eta_noise_seed_delta")),
|
||||
AxisOption("[Sampler] eta multiplier", float, apply_setting("scheduler_eta")),
|
||||
AxisOption("[Refine] Upscaler", str, apply_field("hr_upscaler"), cost=0.3, choices=lambda: [*shared.latent_upscale_modes, *[x.name for x in shared.sd_upscalers]]),
|
||||
AxisOption("[Refine] Sampler", str, apply_hr_sampler_name, fmt=format_value, confirm=confirm_samplers, choices=lambda: [x.name for x in sd_samplers.samplers]),
|
||||
AxisOption("[Refine] Denoising strength", float, apply_field("denoising_strength")),
|
||||
|
||||
@@ -38,6 +38,17 @@ def apply_processing(p, x, xs):
|
||||
shared.log.debug(f'XYZ grid apply processing-arg: type={found} {k}={type(v)}:{v} ')
|
||||
|
||||
|
||||
def apply_options(p, x, xs):
|
||||
for section in x.split(';'):
|
||||
k, v = section.split('=')
|
||||
k, v = k.strip(), v.strip()
|
||||
if v.replace('.','',1).isdigit():
|
||||
v = float(v) if '.' in v else int(v)
|
||||
found = 'existing' if v in shared.opts.data else 'new'
|
||||
shared.opts.data[k] = v
|
||||
shared.log.debug(f'XYZ grid apply options: type={found} {k}={type(v)}:{v} ')
|
||||
|
||||
|
||||
def apply_setting(field):
|
||||
def fun(p, x, xs):
|
||||
shared.log.debug(f'XYZ grid apply setting: {field}={x}')
|
||||
|
||||
Reference in New Issue
Block a user