Commit
·
b881d9e
1
Parent(s):
58261f5
- modules/core.py +33 -4
modules/core.py
CHANGED
|
@@ -6,11 +6,12 @@ import torch
|
|
| 6 |
import numpy as np
|
| 7 |
|
| 8 |
import comfy.model_management
|
| 9 |
-
import comfy.sample
|
| 10 |
import comfy.utils
|
| 11 |
|
| 12 |
from comfy.sd import load_checkpoint_guess_config
|
| 13 |
from nodes import VAEDecode, EmptyLatentImage, CLIPTextEncode
|
|
|
|
|
|
|
| 14 |
|
| 15 |
|
| 16 |
opCLIPTextEncode = CLIPTextEncode()
|
|
@@ -105,9 +106,37 @@ def ksampler(model, positive, negative, latent, seed=None, steps=30, cfg=9.0, sa
|
|
| 105 |
previewer.preview(x0, step, total_steps)
|
| 106 |
pbar.update_absolute(step + 1, total_steps, None)
|
| 107 |
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
out = latent.copy()
|
| 112 |
out["samples"] = samples
|
| 113 |
|
|
|
|
| 6 |
import numpy as np
|
| 7 |
|
| 8 |
import comfy.model_management
|
|
|
|
| 9 |
import comfy.utils
|
| 10 |
|
| 11 |
from comfy.sd import load_checkpoint_guess_config
|
| 12 |
from nodes import VAEDecode, EmptyLatentImage, CLIPTextEncode
|
| 13 |
+
from comfy.sample import prepare_mask, broadcast_cond, load_additional_models, cleanup_additional_models
|
| 14 |
+
from comfy.samplers import KSampler
|
| 15 |
|
| 16 |
|
| 17 |
opCLIPTextEncode = CLIPTextEncode()
|
|
|
|
| 106 |
previewer.preview(x0, step, total_steps)
|
| 107 |
pbar.update_absolute(step + 1, total_steps, None)
|
| 108 |
|
| 109 |
+
sigmas = None
|
| 110 |
+
disable_pbar = False
|
| 111 |
+
|
| 112 |
+
device = comfy.model_management.get_torch_device()
|
| 113 |
+
|
| 114 |
+
if noise_mask is not None:
|
| 115 |
+
noise_mask = prepare_mask(noise_mask, noise.shape, device)
|
| 116 |
+
|
| 117 |
+
comfy.model_management.load_model_gpu(model)
|
| 118 |
+
real_model = model.model
|
| 119 |
+
|
| 120 |
+
noise = noise.to(device)
|
| 121 |
+
latent_image = latent_image.to(device)
|
| 122 |
+
|
| 123 |
+
positive_copy = broadcast_cond(positive, noise.shape[0], device)
|
| 124 |
+
negative_copy = broadcast_cond(negative, noise.shape[0], device)
|
| 125 |
+
|
| 126 |
+
models = load_additional_models(positive, negative, model.model_dtype())
|
| 127 |
+
|
| 128 |
+
sampler = KSampler(real_model, steps=steps, device=device, sampler=sampler_name, scheduler=scheduler,
|
| 129 |
+
denoise=denoise, model_options=model.model_options)
|
| 130 |
+
|
| 131 |
+
samples = sampler.sample(noise, positive_copy, negative_copy, cfg=cfg, latent_image=latent_image,
|
| 132 |
+
start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise,
|
| 133 |
+
denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar,
|
| 134 |
+
seed=seed)
|
| 135 |
+
|
| 136 |
+
samples = samples.cpu()
|
| 137 |
+
|
| 138 |
+
cleanup_additional_models(models)
|
| 139 |
+
|
| 140 |
out = latent.copy()
|
| 141 |
out["samples"] = samples
|
| 142 |
|