add UniPC options to infotext
This commit is contained in:
parent
f261a4a53c
commit
58b5b7c2f1
@ -288,6 +288,8 @@ Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 965400086, Size: 512x512, Model
|
|||||||
|
|
||||||
settings_map = {}
|
settings_map = {}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
infotext_to_setting_name_mapping = [
|
infotext_to_setting_name_mapping = [
|
||||||
('Clip skip', 'CLIP_stop_at_last_layers', ),
|
('Clip skip', 'CLIP_stop_at_last_layers', ),
|
||||||
('Conditional mask weight', 'inpainting_mask_weight'),
|
('Conditional mask weight', 'inpainting_mask_weight'),
|
||||||
@ -296,7 +298,11 @@ 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'),
|
||||||
('Discard penultimate sigma', 'always_discard_next_to_last_sigma')
|
('Discard penultimate sigma', 'always_discard_next_to_last_sigma'),
|
||||||
|
('UniPC variant', 'uni_pc_variant'),
|
||||||
|
('UniPC skip type', 'uni_pc_skip_type'),
|
||||||
|
('UniPC order', 'uni_pc_order'),
|
||||||
|
('UniPC lower order final', 'uni_pc_lower_order_final'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -129,6 +129,19 @@ class VanillaStableDiffusionSampler:
|
|||||||
if self.eta != 0.0:
|
if self.eta != 0.0:
|
||||||
p.extra_generation_params["Eta DDIM"] = self.eta
|
p.extra_generation_params["Eta DDIM"] = self.eta
|
||||||
|
|
||||||
|
if self.is_unipc:
|
||||||
|
keys = [
|
||||||
|
('UniPC variant', 'uni_pc_variant'),
|
||||||
|
('UniPC skip type', 'uni_pc_skip_type'),
|
||||||
|
('UniPC order', 'uni_pc_order'),
|
||||||
|
('UniPC lower order final', 'uni_pc_lower_order_final'),
|
||||||
|
]
|
||||||
|
|
||||||
|
for name, key in keys:
|
||||||
|
v = getattr(shared.opts, key)
|
||||||
|
if v != shared.opts.get_default(key):
|
||||||
|
p.extra_generation_params[name] = v
|
||||||
|
|
||||||
for fieldname in ['p_sample_ddim', 'p_sample_plms']:
|
for fieldname in ['p_sample_ddim', 'p_sample_plms']:
|
||||||
if hasattr(self.sampler, fieldname):
|
if hasattr(self.sampler, fieldname):
|
||||||
setattr(self.sampler, fieldname, self.p_sample_ddim_hook)
|
setattr(self.sampler, fieldname, self.p_sample_ddim_hook)
|
||||||
@ -138,6 +151,7 @@ class VanillaStableDiffusionSampler:
|
|||||||
self.mask = p.mask if hasattr(p, 'mask') else None
|
self.mask = p.mask if hasattr(p, 'mask') else None
|
||||||
self.nmask = p.nmask if hasattr(p, 'nmask') else None
|
self.nmask = p.nmask if hasattr(p, 'nmask') else None
|
||||||
|
|
||||||
|
|
||||||
def adjust_steps_if_invalid(self, p, num_steps):
|
def adjust_steps_if_invalid(self, p, num_steps):
|
||||||
if ((self.config.name == 'DDIM') and p.ddim_discretize == 'uniform') or (self.config.name == 'PLMS') or (self.config.name == 'UniPC'):
|
if ((self.config.name == 'DDIM') and p.ddim_discretize == 'uniform') or (self.config.name == 'PLMS') or (self.config.name == 'UniPC'):
|
||||||
if self.config.name == 'UniPC' and num_steps < shared.opts.uni_pc_order:
|
if self.config.name == 'UniPC' and num_steps < shared.opts.uni_pc_order:
|
||||||
|
@ -563,6 +563,15 @@ class Options:
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def get_default(self, key):
|
||||||
|
"""returns the default value for the key"""
|
||||||
|
|
||||||
|
data_label = self.data_labels.get(key)
|
||||||
|
if data_label is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
return data_label.default
|
||||||
|
|
||||||
def save(self, filename):
|
def save(self, filename):
|
||||||
assert not cmd_opts.freeze_settings, "saving settings is disabled"
|
assert not cmd_opts.freeze_settings, "saving settings is disabled"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user