diff --git a/javascript/sdnext.css b/javascript/sdnext.css index 61aebf947..f245dbe0e 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -106,11 +106,10 @@ div#extras_scale_to_tab div.form{ flex-direction: row; } #quicksettings > button { padding: 0 1em 0 0; align-self: end; margin-bottom: var(--text-sm); } #settings { display: flex; gap: var(--layout-gap); } #settings div { border: none; gap: 0; margin: 0 0 var(--layout-gap) 0px; padding: 0; } -#settings .gr-group { max-width: 70em; } #settings > div.tab-content { flex: 10 0 75%; display: grid; } #settings > div.tab-content > div { border: none; padding: 0; } #settings > div.tab-content > div > div > div > div > div { flex-direction: unset; } -#settings > div.tab-nav { display: grid; grid-template-columns: repeat(auto-fill, .5em minmax(10em, 1fr)); flex: 1 0 auto; width: 12em; align-self: flex-start; gap: var(--spacing-lg); } +#settings > div.tab-nav { display: grid; grid-template-columns: repeat(auto-fill, .5em minmax(10em, 1fr)); flex: 1 0 auto; width: 12em; align-self: flex-start; gap: var(--spacing-xxl); } #settings > div.tab-nav button { display: block; border: none; text-align: left; white-space: initial; padding: 0; } #settings > div.tab-nav > #settings_show_all_pages { padding: var(--size-2) var(--size-4); } #settings .block.gradio-checkbox { margin: 0; width: auto; } diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 3dedcb85b..0c7c16f2b 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -263,6 +263,11 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro args['negative_pooled_prompt_embeds'] = negative_pooled else: args['negative_prompt'] = negative_prompts + if hasattr(model, 'scheduler') and hasattr(model.scheduler, 'noise_sampler_seed') and hasattr(model.scheduler, 'noise_sampler'): + model.scheduler.noise_sampler = None # noise needs to be reset instead of using cached values + model.scheduler.noise_sampler_seed = seeds[0] # some schedulers have internal noise generator and do not use pipeline generator + if 'noise_sampler_seed' in possible: + args['noise_sampler_seed'] = seeds[0] if 'guidance_scale' in possible: args['guidance_scale'] = p.cfg_scale if 'generator' in possible: @@ -294,6 +299,7 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro clean.pop('callback', None) clean.pop('callback_steps', None) clean.pop('callback_on_step_end', None) + clean.pop('callback_on_step_end_tensor_inputs', None) if 'latents' in clean: clean['latents'] = clean['latents'].shape if 'image' in clean: diff --git a/modules/sd_samplers.py b/modules/sd_samplers.py index db9ad937f..62f0c8a73 100644 --- a/modules/sd_samplers.py +++ b/modules/sd_samplers.py @@ -53,14 +53,14 @@ def create_sampler(name, model): sampler.config = config sampler.initialize(p=None) sampler.name = name - shared.log.debug(f'Sampler: sampler={sampler.name} config={sampler.config.options}') + shared.log.debug(f'Sampler: sampler="{sampler.name}" config={sampler.config.options}') return sampler elif shared.backend == shared.Backend.DIFFUSERS: sampler = config.constructor(model) if not hasattr(model, 'scheduler_config'): model.scheduler_config = sampler.sampler.config.copy() model.scheduler = sampler.sampler - shared.log.debug(f'Sampler: sampler={sampler.name} config={sampler.config}') + shared.log.debug(f'Sampler: sampler="{sampler.name}" config={sampler.config}') return sampler.sampler else: return None