mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2024-12-29 19:05:05 +08:00
infotext support for #14978
This commit is contained in:
parent
aabedcbcc7
commit
bb24c13ed7
@ -359,6 +359,9 @@ Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 965400086, Size: 512x512, Model
|
||||
if "Emphasis" not in res:
|
||||
res["Emphasis"] = "Original"
|
||||
|
||||
if "Refiner switch by sampling steps" not in res:
|
||||
res["Refiner switch by sampling steps"] = False
|
||||
|
||||
infotext_versions.backcompat(res)
|
||||
|
||||
for key in skip_fields:
|
||||
|
@ -5,6 +5,7 @@ import re
|
||||
|
||||
v160 = version.parse("1.6.0")
|
||||
v170_tsnr = version.parse("v1.7.0-225")
|
||||
v180 = version.parse("1.8.0")
|
||||
|
||||
|
||||
def parse_version(text):
|
||||
@ -40,3 +41,5 @@ def backcompat(d):
|
||||
if ver < v170_tsnr:
|
||||
d["Downcast alphas_cumprod"] = True
|
||||
|
||||
if ver < v180 and d.get('Refiner'):
|
||||
d["Refiner switch by sampling steps"] = True
|
||||
|
@ -155,14 +155,16 @@ def replace_torchsde_browinan():
|
||||
replace_torchsde_browinan()
|
||||
|
||||
|
||||
def apply_refiner(cfg_denoiser, sigma):
|
||||
if opts.refiner_switch_by_sample_steps:
|
||||
def apply_refiner(cfg_denoiser, sigma=None):
|
||||
if opts.refiner_switch_by_sample_steps or not sigma:
|
||||
completed_ratio = cfg_denoiser.step / cfg_denoiser.total_steps
|
||||
cfg_denoiser.p.extra_generation_params["Refiner switch by sampling steps"] = True
|
||||
|
||||
else:
|
||||
# torch.max(sigma) only to handle rare case where we might have different sigmas in the same batch
|
||||
try:
|
||||
timestep = torch.argmin(torch.abs(cfg_denoiser.inner_model.sigmas - torch.max(sigma)))
|
||||
except AttributeError: # for samplers that dont use sigmas (DDIM) sigma is actually the timestep
|
||||
except AttributeError: # for samplers that don't use sigmas (DDIM) sigma is actually the timestep
|
||||
timestep = torch.max(sigma).to(dtype=int)
|
||||
completed_ratio = (999 - timestep) / 1000
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user