diff options
author | space-nuko <24979496+space-nuko@users.noreply.github.com> | 2023-02-10 13:27:05 +0000 |
---|---|---|
committer | space-nuko <24979496+space-nuko@users.noreply.github.com> | 2023-02-10 13:27:05 +0000 |
commit | 79ffb9453f8eddbdd4e316b9d9c75812b0eea4e1 (patch) | |
tree | 03793e161ca395aa60b44c046210a8b88a8bb73a /modules/models/diffusion | |
parent | c88dcc20d495dab4be2692bdff30277112dbe416 (diff) | |
download | stable-diffusion-webui-gfx803-79ffb9453f8eddbdd4e316b9d9c75812b0eea4e1.tar.gz stable-diffusion-webui-gfx803-79ffb9453f8eddbdd4e316b9d9c75812b0eea4e1.tar.bz2 stable-diffusion-webui-gfx803-79ffb9453f8eddbdd4e316b9d9c75812b0eea4e1.zip |
Add UniPC sampler settings
Diffstat (limited to 'modules/models/diffusion')
-rw-r--r-- | modules/models/diffusion/uni_pc/sampler.py | 5 | ||||
-rw-r--r-- | modules/models/diffusion/uni_pc/uni_pc.py | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/modules/models/diffusion/uni_pc/sampler.py b/modules/models/diffusion/uni_pc/sampler.py index 219e9862..e66a21e3 100644 --- a/modules/models/diffusion/uni_pc/sampler.py +++ b/modules/models/diffusion/uni_pc/sampler.py @@ -3,6 +3,7 @@ import torch from .uni_pc import NoiseScheduleVP, model_wrapper, UniPC +from modules import shared class UniPCSampler(object): def __init__(self, model, **kwargs): @@ -89,7 +90,7 @@ class UniPCSampler(object): guidance_scale=unconditional_guidance_scale, ) - uni_pc = UniPC(model_fn, ns, predict_x0=True, thresholding=False, condition=conditioning, unconditional_condition=unconditional_conditioning, before_sample=self.before_sample, after_sample=self.after_sample, after_update=self.after_update) - x = uni_pc.sample(img, steps=S, skip_type="time_uniform", method="multistep", order=3, lower_order_final=True) + uni_pc = UniPC(model_fn, ns, predict_x0=True, thresholding=shared.opts.uni_pc_thresholding, variant=shared.opts.uni_pc_variant, condition=conditioning, unconditional_condition=unconditional_conditioning, before_sample=self.before_sample, after_sample=self.after_sample, after_update=self.after_update) + x = uni_pc.sample(img, steps=S, skip_type=shared.opts.uni_pc_skip_type, method="multistep", order=shared.opts.uni_pc_order, lower_order_final=shared.opts.uni_pc_lower_order_final) return x.to(device), None diff --git a/modules/models/diffusion/uni_pc/uni_pc.py b/modules/models/diffusion/uni_pc/uni_pc.py index 31ee81a6..df63d1bc 100644 --- a/modules/models/diffusion/uni_pc/uni_pc.py +++ b/modules/models/diffusion/uni_pc/uni_pc.py @@ -750,7 +750,7 @@ class UniPC: if method == 'multistep': assert steps >= order, "UniPC order must be < sampling steps" timesteps = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=steps, device=device) - print(f"Running UniPC Sampling with {timesteps.shape[0]} timesteps") + print(f"Running UniPC Sampling with {timesteps.shape[0]} timesteps, order {order}") assert timesteps.shape[0] - 1 == steps with torch.no_grad(): vec_t = timesteps[0].expand((x.shape[0])) |