Commit 58b5b7c2 authored by AUTOMATIC's avatar AUTOMATIC
Browse files

add UniPC options to infotext

parent f261a4a5
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -288,6 +288,8 @@ Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 965400086, Size: 512x512, Model

settings_map = {}



infotext_to_setting_name_mapping = [
    ('Clip skip', 'CLIP_stop_at_last_layers', ),
    ('Conditional mask weight', 'inpainting_mask_weight'),
@@ -296,7 +298,11 @@ infotext_to_setting_name_mapping = [
    ('Noise multiplier', 'initial_noise_multiplier'),
    ('Eta', 'eta_ancestral'),
    ('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'),
]


+14 −0
Original line number Diff line number Diff line
@@ -129,6 +129,19 @@ class VanillaStableDiffusionSampler:
        if self.eta != 0.0:
            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']:
            if hasattr(self.sampler, fieldname):
                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.nmask = p.nmask if hasattr(p, 'nmask') else None


    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 == 'UniPC' and num_steps < shared.opts.uni_pc_order:
+9 −0
Original line number Diff line number Diff line
@@ -563,6 +563,15 @@ class Options:

        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):
        assert not cmd_opts.freeze_settings, "saving settings is disabled"