提交 31506f07 编写于 作者: C catboxanon

Add sigma params to infotext

上级 c6278c15
...@@ -328,6 +328,10 @@ infotext_to_setting_name_mapping = [ ...@@ -328,6 +328,10 @@ infotext_to_setting_name_mapping = [
('Noise multiplier', 'initial_noise_multiplier'), ('Noise multiplier', 'initial_noise_multiplier'),
('Eta', 'eta_ancestral'), ('Eta', 'eta_ancestral'),
('Eta DDIM', 'eta_ddim'), ('Eta DDIM', 'eta_ddim'),
('Sigma churn', 's_churn'),
('Sigma tmin', 's_tmin'),
('Sigma tmax', 's_tmax'),
('Sigma noise', 's_noise'),
('Discard penultimate sigma', 'always_discard_next_to_last_sigma'), ('Discard penultimate sigma', 'always_discard_next_to_last_sigma'),
('UniPC variant', 'uni_pc_variant'), ('UniPC variant', 'uni_pc_variant'),
('UniPC skip type', 'uni_pc_skip_type'), ('UniPC skip type', 'uni_pc_skip_type'),
......
...@@ -4,6 +4,7 @@ import inspect ...@@ -4,6 +4,7 @@ import inspect
import k_diffusion.sampling import k_diffusion.sampling
from modules import prompt_parser, devices, sd_samplers_common, sd_samplers_extra from modules import prompt_parser, devices, sd_samplers_common, sd_samplers_extra
from modules.processing import StableDiffusionProcessing
from modules.shared import opts, state from modules.shared import opts, state
import modules.shared as shared import modules.shared as shared
from modules.script_callbacks import CFGDenoiserParams, cfg_denoiser_callback from modules.script_callbacks import CFGDenoiserParams, cfg_denoiser_callback
...@@ -280,6 +281,14 @@ class KDiffusionSampler: ...@@ -280,6 +281,14 @@ class KDiffusionSampler:
self.last_latent = None self.last_latent = None
self.s_min_uncond = None self.s_min_uncond = None
# NOTE: These are also defined in the StableDiffusionProcessing class.
# They should have been here to begin with but we're going to
# leave that class __init__ signature alone.
self.s_churn = 0.0
self.s_tmin = 0.0
self.s_tmax = float('inf')
self.s_noise = 1.0
self.conditioning_key = sd_model.model.conditioning_key self.conditioning_key = sd_model.model.conditioning_key
def callback_state(self, d): def callback_state(self, d):
...@@ -314,7 +323,7 @@ class KDiffusionSampler: ...@@ -314,7 +323,7 @@ class KDiffusionSampler:
def number_of_needed_noises(self, p): def number_of_needed_noises(self, p):
return p.steps return p.steps
def initialize(self, p): def initialize(self, p: StableDiffusionProcessing):
self.model_wrap_cfg.mask = p.mask if hasattr(p, 'mask') else None self.model_wrap_cfg.mask = p.mask if hasattr(p, 'mask') else None
self.model_wrap_cfg.nmask = p.nmask if hasattr(p, 'nmask') else None self.model_wrap_cfg.nmask = p.nmask if hasattr(p, 'nmask') else None
self.model_wrap_cfg.step = 0 self.model_wrap_cfg.step = 0
...@@ -335,6 +344,29 @@ class KDiffusionSampler: ...@@ -335,6 +344,29 @@ class KDiffusionSampler:
extra_params_kwargs['eta'] = self.eta extra_params_kwargs['eta'] = self.eta
if len(self.extra_params) > 0:
s_churn = p.override_settings.get('s_churn', p.s_churn)
s_tmin = p.override_settings.get('s_tmin', p.s_tmin)
s_tmax = p.override_settings.get('s_tmax', p.s_tmax)
s_noise = p.override_settings.get('s_noise', p.s_noise)
if s_churn != self.s_churn:
extra_params_kwargs['s_churn'] = s_churn
p.s_churn = s_churn
p.extra_generation_params['Sigma churn'] = s_churn
if s_tmin != self.s_tmin:
extra_params_kwargs['s_tmin'] = s_churn
p.s_tmin = s_tmin
p.extra_generation_params['Sigma tmin'] = s_tmin
if s_tmax != self.s_tmax:
extra_params_kwargs['s_tmax'] = s_churn
p.s_tmax = s_tmax
p.extra_generation_params['Sigma tmax'] = s_tmax
if s_noise != self.s_noise:
extra_params_kwargs['s_noise'] = s_churn
p.s_noise = s_noise
p.extra_generation_params['Sigma noise'] = s_noise
return extra_params_kwargs return extra_params_kwargs
def get_sigmas(self, p, steps): def get_sigmas(self, p, steps):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册