mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 09:14:35 +02:00
sampler same as primary
This commit is contained in:
@@ -33,7 +33,7 @@ class StableDiffusionProcessing:
|
||||
self.seed_resize_from_h: int = seed_resize_from_h
|
||||
self.seed_resize_from_w: int = seed_resize_from_w
|
||||
self.sampler_name: str = sampler_name
|
||||
self.hr_sampler_name: str = hr_sampler_name
|
||||
self.hr_sampler_name: str = hr_sampler_name if hr_sampler_name != 'Same as primary' else sampler_name
|
||||
self.batch_size: int = batch_size
|
||||
self.n_iter: int = n_iter
|
||||
self.steps: int = steps
|
||||
@@ -142,7 +142,6 @@ class StableDiffusionProcessing:
|
||||
self.negative_embeds = []
|
||||
self.negative_pooleds = []
|
||||
|
||||
|
||||
@property
|
||||
def sd_model(self):
|
||||
return shared.sd_model
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import os
|
||||
import copy
|
||||
from modules import shared
|
||||
from modules.sd_samplers_common import samples_to_image_grid, sample_to_image # pylint: disable=unused-import
|
||||
|
||||
@@ -47,6 +48,8 @@ def visible_sampler_names():
|
||||
|
||||
def create_sampler(name, model):
|
||||
if name == 'Default' and hasattr(model, 'scheduler'):
|
||||
if getattr(model, "default_scheduler", None) is not None:
|
||||
model.scheduler = copy.deepcopy(model.default_scheduler)
|
||||
config = {k: v for k, v in model.scheduler.config.items() if not k.startswith('_')}
|
||||
shared.log.debug(f'Sampler default {type(model.scheduler).__name__}: {config}')
|
||||
return model.scheduler
|
||||
|
||||
@@ -65,6 +65,7 @@ config = {
|
||||
|
||||
samplers_data_diffusers = [
|
||||
sd_samplers_common.SamplerData('Default', None, [], {}),
|
||||
|
||||
sd_samplers_common.SamplerData('UniPC', lambda model: DiffusionSampler('UniPC', UniPCMultistepScheduler, model), [], {}),
|
||||
sd_samplers_common.SamplerData('DEIS', lambda model: DiffusionSampler('DEIS', DEISMultistepScheduler, model), [], {}),
|
||||
sd_samplers_common.SamplerData('SA Solver', lambda model: DiffusionSampler('SA Solver', SASolverScheduler, model), [], {}),
|
||||
@@ -88,6 +89,8 @@ samplers_data_diffusers = [
|
||||
sd_samplers_common.SamplerData('LCM', lambda model: DiffusionSampler('LCM', LCMScheduler, model), [], {}),
|
||||
sd_samplers_common.SamplerData('TCD', lambda model: DiffusionSampler('TCD', TCDScheduler, model), [], {}),
|
||||
sd_samplers_common.SamplerData('CMSI', lambda model: DiffusionSampler('CMSI', CMStochasticIterativeScheduler, model), [], {}),
|
||||
|
||||
sd_samplers_common.SamplerData('Same as primary', None, [], {}),
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -202,7 +202,7 @@ def create_correction_inputs(tab):
|
||||
def create_sampler_and_steps_selection(choices, tabname):
|
||||
if choices is None:
|
||||
sd_samplers.set_samplers()
|
||||
choices = sd_samplers.samplers
|
||||
choices = [x for x in sd_samplers.samplers if not x.name == 'Same as primary']
|
||||
with gr.Row(elem_classes=['flex-break']):
|
||||
steps = gr.Slider(minimum=1, maximum=99, step=1, label="Sampling steps", elem_id=f"{tabname}_steps", value=20)
|
||||
sampler_index = gr.Dropdown(label='Sampling method', elem_id=f"{tabname}_sampling", choices=[x.name for x in choices], value='Default', type="index")
|
||||
@@ -260,7 +260,7 @@ def create_hires_inputs(tab):
|
||||
hr_resize_y = gr.Slider(minimum=0, maximum=4096, step=8, label="Height resize", value=0, elem_id=f"{tab}_hr_resize_y")
|
||||
with gr.Row(elem_id=f"{tab}_hires_fix_row2", variant="compact"):
|
||||
hr_force = gr.Checkbox(label='Force HiRes', value=False, elem_id=f"{tab}_hr_force")
|
||||
hr_sampler_index = gr.Dropdown(label='Secondary sampler', elem_id=f"{tab}_sampling_alt", choices=[x.name for x in sd_samplers.samplers], value='Default', type="index")
|
||||
hr_sampler_index = gr.Dropdown(label='Secondary sampler', elem_id=f"{tab}_sampling_alt", choices=[x.name for x in sd_samplers.samplers], value='Same as primary', type="index")
|
||||
with gr.Row(elem_id=f"{tab}_hires_row2"):
|
||||
hr_second_pass_steps = gr.Slider(minimum=0, maximum=99, step=1, label='HiRes steps', elem_id=f"{tab}_steps_alt", value=20)
|
||||
denoising_strength = gr.Slider(minimum=0.0, maximum=0.99, step=0.01, label='Strength', value=0.3, elem_id=f"{tab}_denoising_strength")
|
||||
|
||||
Reference in New Issue
Block a user