mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-01-26 22:30:19 +08:00
Merge branch 'comfyanonymous:master' into master
This commit is contained in:
commit
2fc3745a83
@ -1,3 +1,4 @@
|
|||||||
|
import math
|
||||||
import comfy.samplers
|
import comfy.samplers
|
||||||
import comfy.sample
|
import comfy.sample
|
||||||
from comfy.k_diffusion import sampling as k_diffusion_sampling
|
from comfy.k_diffusion import sampling as k_diffusion_sampling
|
||||||
@ -249,6 +250,55 @@ class SetFirstSigma:
|
|||||||
sigmas[0] = sigma
|
sigmas[0] = sigma
|
||||||
return (sigmas, )
|
return (sigmas, )
|
||||||
|
|
||||||
|
class ExtendIntermediateSigmas:
|
||||||
|
@classmethod
|
||||||
|
def INPUT_TYPES(s):
|
||||||
|
return {"required":
|
||||||
|
{"sigmas": ("SIGMAS", ),
|
||||||
|
"steps": ("INT", {"default": 2, "min": 1, "max": 100}),
|
||||||
|
"start_at_sigma": ("FLOAT", {"default": -1.0, "min": -1.0, "max": 20000.0, "step": 0.01, "round": False}),
|
||||||
|
"end_at_sigma": ("FLOAT", {"default": 12.0, "min": 0.0, "max": 20000.0, "step": 0.01, "round": False}),
|
||||||
|
"spacing": (['linear', 'cosine', 'sine'],),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RETURN_TYPES = ("SIGMAS",)
|
||||||
|
CATEGORY = "sampling/custom_sampling/sigmas"
|
||||||
|
|
||||||
|
FUNCTION = "extend"
|
||||||
|
|
||||||
|
def extend(self, sigmas: torch.Tensor, steps: int, start_at_sigma: float, end_at_sigma: float, spacing: str):
|
||||||
|
if start_at_sigma < 0:
|
||||||
|
start_at_sigma = float("inf")
|
||||||
|
|
||||||
|
interpolator = {
|
||||||
|
'linear': lambda x: x,
|
||||||
|
'cosine': lambda x: torch.sin(x*math.pi/2),
|
||||||
|
'sine': lambda x: 1 - torch.cos(x*math.pi/2)
|
||||||
|
}[spacing]
|
||||||
|
|
||||||
|
# linear space for our interpolation function
|
||||||
|
x = torch.linspace(0, 1, steps + 1, device=sigmas.device)[1:-1]
|
||||||
|
computed_spacing = interpolator(x)
|
||||||
|
|
||||||
|
extended_sigmas = []
|
||||||
|
for i in range(len(sigmas) - 1):
|
||||||
|
sigma_current = sigmas[i]
|
||||||
|
sigma_next = sigmas[i+1]
|
||||||
|
|
||||||
|
extended_sigmas.append(sigma_current)
|
||||||
|
|
||||||
|
if end_at_sigma <= sigma_current <= start_at_sigma:
|
||||||
|
interpolated_steps = computed_spacing * (sigma_next - sigma_current) + sigma_current
|
||||||
|
extended_sigmas.extend(interpolated_steps.tolist())
|
||||||
|
|
||||||
|
# Add the last sigma value
|
||||||
|
if len(sigmas) > 0:
|
||||||
|
extended_sigmas.append(sigmas[-1])
|
||||||
|
|
||||||
|
extended_sigmas = torch.FloatTensor(extended_sigmas)
|
||||||
|
|
||||||
|
return (extended_sigmas,)
|
||||||
|
|
||||||
class KSamplerSelect:
|
class KSamplerSelect:
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -735,6 +785,7 @@ NODE_CLASS_MAPPINGS = {
|
|||||||
"SplitSigmasDenoise": SplitSigmasDenoise,
|
"SplitSigmasDenoise": SplitSigmasDenoise,
|
||||||
"FlipSigmas": FlipSigmas,
|
"FlipSigmas": FlipSigmas,
|
||||||
"SetFirstSigma": SetFirstSigma,
|
"SetFirstSigma": SetFirstSigma,
|
||||||
|
"ExtendIntermediateSigmas": ExtendIntermediateSigmas,
|
||||||
|
|
||||||
"CFGGuider": CFGGuider,
|
"CFGGuider": CFGGuider,
|
||||||
"DualCFGGuider": DualCFGGuider,
|
"DualCFGGuider": DualCFGGuider,
|
||||||
|
|||||||
@ -276,7 +276,7 @@ class CLIPSave:
|
|||||||
comfy.model_management.load_models_gpu([clip.load_model()], force_patch_weights=True)
|
comfy.model_management.load_models_gpu([clip.load_model()], force_patch_weights=True)
|
||||||
clip_sd = clip.get_sd()
|
clip_sd = clip.get_sd()
|
||||||
|
|
||||||
for prefix in ["clip_l.", "clip_g.", ""]:
|
for prefix in ["clip_l.", "clip_g.", "clip_h.", "t5xxl.", "pile_t5xl.", "mt5xl.", "umt5xxl.", "t5base.", "gemma2_2b.", "llama.", "hydit_clip.", ""]:
|
||||||
k = list(filter(lambda a: a.startswith(prefix), clip_sd.keys()))
|
k = list(filter(lambda a: a.startswith(prefix), clip_sd.keys()))
|
||||||
current_clip_sd = {}
|
current_clip_sd = {}
|
||||||
for x in k:
|
for x in k:
|
||||||
|
|||||||
2
main.py
2
main.py
@ -13,7 +13,7 @@ import logging
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
#NOTE: These do not do anything on core ComfyUI which should already have no communication with the internet, they are for custom nodes.
|
#NOTE: These do not do anything on core ComfyUI, they are for custom nodes.
|
||||||
os.environ['HF_HUB_DISABLE_TELEMETRY'] = '1'
|
os.environ['HF_HUB_DISABLE_TELEMETRY'] = '1'
|
||||||
os.environ['DO_NOT_TRACK'] = '1'
|
os.environ['DO_NOT_TRACK'] = '1'
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user