This commit is contained in:
lllyasviel
2023-10-22 08:28:25 -07:00
parent 4c94f0f590
commit 576aa9283f
3 changed files with 12 additions and 22 deletions
+1 -1
View File
@@ -1 +1 @@
version = '2.1.729' version = '2.1.730'
+9 -7
View File
@@ -218,19 +218,21 @@ def get_previewer(model):
def ksampler(model, positive, negative, latent, seed=None, steps=30, cfg=7.0, sampler_name='dpmpp_2m_sde_gpu', def ksampler(model, positive, negative, latent, seed=None, steps=30, cfg=7.0, sampler_name='dpmpp_2m_sde_gpu',
scheduler='karras', denoise=1.0, disable_noise=False, start_step=None, last_step=None, scheduler='karras', denoise=1.0, disable_noise=False, start_step=None, last_step=None,
force_full_denoise=False, callback_function=None, refiner=None, refiner_switch=-1, force_full_denoise=False, callback_function=None, refiner=None, refiner_switch=-1,
previewer_start=None, previewer_end=None, sigmas=None, noise=None): previewer_start=None, previewer_end=None, sigmas=None, noise_offset=None):
if sigmas is not None: if sigmas is not None:
sigmas = sigmas.clone().to(fcbh.model_management.get_torch_device()) sigmas = sigmas.clone().to(fcbh.model_management.get_torch_device())
latent_image = latent["samples"] latent_image = latent["samples"]
if noise is None: if disable_noise:
if disable_noise: noise = torch.zeros(latent_image.size(), dtype=latent_image.dtype, layout=latent_image.layout, device="cpu")
noise = torch.zeros(latent_image.size(), dtype=latent_image.dtype, layout=latent_image.layout, device="cpu") else:
else: batch_inds = latent["batch_index"] if "batch_index" in latent else None
batch_inds = latent["batch_index"] if "batch_index" in latent else None noise = fcbh.sample.prepare_noise(latent_image, seed, batch_inds)
noise = fcbh.sample.prepare_noise(latent_image, seed, batch_inds)
if isinstance(noise_offset, torch.Tensor):
noise = noise + noise_offset
noise_mask = None noise_mask = None
if "noise_mask" in latent: if "noise_mask" in latent:
+2 -14
View File
@@ -3,7 +3,6 @@ import os
import torch import torch
import modules.patch import modules.patch
import modules.path import modules.path
import fcbh.sample
import fcbh.model_management import fcbh.model_management
import fcbh.latent_formats import fcbh.latent_formats
import modules.inpaint_worker import modules.inpaint_worker
@@ -279,14 +278,6 @@ def vae_parse(latent):
return {'samples': result} return {'samples': result}
@torch.no_grad()
@torch.inference_mode()
def noise_parse(latent: torch.Tensor, seed: int, noise_inds=None, k=0.9):
noise = fcbh.sample.prepare_noise(latent, seed=seed, noise_inds=noise_inds)
offset = torch.mean(latent, dim=1, keepdim=True)
return offset * k + noise
@torch.no_grad() @torch.no_grad()
@torch.inference_mode() @torch.inference_mode()
def calculate_sigmas_all(sampler, model, scheduler, steps): def calculate_sigmas_all(sampler, model, scheduler, steps):
@@ -477,10 +468,7 @@ def process_diffusion(positive_cond, negative_cond, steps, switch, width, height
denoise=denoise)[switch:] * k_sigmas denoise=denoise)[switch:] * k_sigmas
len_sigmas = len(sigmas) - 1 len_sigmas = len(sigmas) - 1
residual_noise = noise_parse( noise_offset = torch.mean(modules.patch.eps_record, dim=1, keepdim=True) * 0.9
modules.patch.eps_record,
seed=image_seed+1,
noise_inds=sampled_latent["batch_index"] if "batch_index" in sampled_latent else None)
if modules.inpaint_worker.current_task is not None: if modules.inpaint_worker.current_task is not None:
modules.inpaint_worker.current_task.swap() modules.inpaint_worker.current_task.swap()
@@ -500,7 +488,7 @@ def process_diffusion(positive_cond, negative_cond, steps, switch, width, height
previewer_start=switch, previewer_start=switch,
previewer_end=steps, previewer_end=steps,
sigmas=sigmas, sigmas=sigmas,
noise=residual_noise noise_offset=noise_offset
) )
target_model = final_refiner_vae target_model = final_refiner_vae