Added autosize on a bunch more nodes, added Sigma Schedule to Sigmas node

This commit is contained in:
Jedrzej Kosinski
2024-07-15 16:12:56 -05:00
parent b6a1a84df3
commit 3acf95e7a4
6 changed files with 99 additions and 11 deletions
+4 -2
View File
@@ -23,7 +23,7 @@ from .nodes_sample import (FreeInitOptionsNode, NoiseLayerAddWeightedNode, Sampl
CustomCFGNode, CustomCFGSimpleNode, CustomCFGKeyframeNode, CustomCFGKeyframeSimpleNode,
CFGExtrasPAGNode, CFGExtrasPAGSimpleNode, CFGExtrasRescaleCFGNode, CFGExtrasRescaleCFGSimpleNode,
NoisedImageInjectionNode, NoisedImageInjectOptionsNode)
from .nodes_sigma_schedule import (SigmaScheduleNode, RawSigmaScheduleNode, WeightedAverageSigmaScheduleNode, InterpolatedWeightedAverageSigmaScheduleNode, SplitAndCombineSigmaScheduleNode)
from .nodes_sigma_schedule import (SigmaScheduleNode, RawSigmaScheduleNode, WeightedAverageSigmaScheduleNode, InterpolatedWeightedAverageSigmaScheduleNode, SplitAndCombineSigmaScheduleNode, SigmaScheduleToSigmasNode)
from .nodes_context import (LegacyLoopedUniformContextOptionsNode, LoopedUniformContextOptionsNode, LoopedUniformViewOptionsNode, StandardUniformContextOptionsNode, StandardStaticContextOptionsNode, BatchedContextOptionsNode,
StandardStaticViewOptionsNode, StandardUniformViewOptionsNode, ViewAsContextOptionsNode,
VisualizeContextOptionsK, VisualizeContextOptionsKAdv, VisualizeContextOptionsSCustom)
@@ -115,6 +115,7 @@ NODE_CLASS_MAPPINGS = {
"ADE_SigmaScheduleWeightedAverage": WeightedAverageSigmaScheduleNode,
"ADE_SigmaScheduleWeightedAverageInterp": InterpolatedWeightedAverageSigmaScheduleNode,
"ADE_SigmaScheduleSplitAndCombine": SplitAndCombineSigmaScheduleNode,
"ADE_SigmaScheduleToSigmas": SigmaScheduleToSigmasNode,
"ADE_NoisedImageInjection": NoisedImageInjectionNode,
"ADE_NoisedImageInjectOptions": NoisedImageInjectOptionsNode,
"ADE_CFGExtrasPAGSimple": CFGExtrasPAGSimpleNode,
@@ -220,7 +221,7 @@ NODE_DISPLAY_NAME_MAPPINGS = {
"ADE_NoiseLayerReplace": "Noise Layer [Replace] 🎭🅐🅓",
# AnimateDiff Settings
"ADE_AnimateDiffSettings": "AnimateDiff Settings 🎭🅐🅓",
"ADE_AdjustPESweetspotStretch": "Adjust PE [Sweetspot Stretch] 🎭🅐🅓",
"ADE_AdjustPESweetspotStretch": "Adjust PE [Sweetspot] 🎭🅐🅓",
"ADE_AdjustPEFullStretch": "Adjust PE [Full Stretch] 🎭🅐🅓",
"ADE_AdjustPEManual": "Adjust PE [Manual] 🎭🅐🅓",
"ADE_AdjustWeightAllAdd": "Adjust Weight [All◆Add] 🎭🅐🅓",
@@ -239,6 +240,7 @@ NODE_DISPLAY_NAME_MAPPINGS = {
"ADE_SigmaScheduleWeightedAverage": "Sigma Schedule Weighted Mean 🎭🅐🅓",
"ADE_SigmaScheduleWeightedAverageInterp": "Sigma Schedule Interpolated Mean 🎭🅐🅓",
"ADE_SigmaScheduleSplitAndCombine": "Sigma Schedule Split Combine 🎭🅐🅓",
"ADE_SigmaScheduleToSigmas": "Sigma Schedule To Sigmas 🎭🅐🅓",
"ADE_NoisedImageInjection": "Image Injection 🎭🅐🅓",
"ADE_NoisedImageInjectOptions": "Image Injection Options 🎭🅐🅓",
"ADE_CFGExtrasPAGSimple": "CFG Extras◆PAG 🎭🅐🅓",
+11
View File
@@ -9,6 +9,7 @@ class AnimateDiffSettingsNode:
"optional": {
"pe_adjust": ("PE_ADJUST",),
"weight_adjust": ("WEIGHT_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -30,9 +31,11 @@ class ManualAdjustPENode:
"initial_pe_idx_offset": ("INT", {"default": 0, "min": 0, "step": 1}),
"final_pe_idx_offset": ("INT", {"default": 0, "min": 0, "step": 1}),
"print_adjustment": ("BOOLEAN", {"default": False}),
},
"optional": {
"prev_pe_adjust": ("PE_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 30}),
}
}
@@ -64,6 +67,7 @@ class SweetspotStretchPENode:
},
"optional": {
"prev_pe_adjust": ("PE_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 20}),
}
}
@@ -91,6 +95,7 @@ class FullStretchPENode:
},
"optional": {
"prev_pe_adjust": ("PE_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 30}),
}
}
@@ -118,6 +123,7 @@ class WeightAdjustAllAddNode:
},
"optional": {
"prev_weight_adjust": ("WEIGHT_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -147,6 +153,7 @@ class WeightAdjustAllMultNode:
},
"optional": {
"prev_weight_adjust": ("WEIGHT_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -178,6 +185,7 @@ class WeightAdjustIndivAddNode:
},
"optional": {
"prev_weight_adjust": ("WEIGHT_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -211,6 +219,7 @@ class WeightAdjustIndivMultNode:
},
"optional": {
"prev_weight_adjust": ("WEIGHT_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -249,6 +258,7 @@ class WeightAdjustIndivAttnAddNode:
},
"optional": {
"prev_weight_adjust": ("WEIGHT_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 20}),
}
}
@@ -295,6 +305,7 @@ class WeightAdjustIndivAttnMultNode:
},
"optional": {
"prev_weight_adjust": ("WEIGHT_ADJUST",),
"autosize": ("ADEAUTOSIZE", {"padding": 20}),
}
}
+26 -4
View File
@@ -32,7 +32,8 @@ class PairedConditioningSetMaskHooked:
"optional": {
"opt_mask": ("MASK", ),
"opt_lora_hook": ("LORA_HOOK",),
"opt_timesteps": ("TIMESTEPS_COND",)
"opt_timesteps": ("TIMESTEPS_COND",),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -62,7 +63,8 @@ class ConditioningSetMaskHooked:
"optional": {
"opt_mask": ("MASK", ),
"opt_lora_hook": ("LORA_HOOK",),
"opt_timesteps": ("TIMESTEPS_COND",)
"opt_timesteps": ("TIMESTEPS_COND",),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -94,7 +96,8 @@ class PairedConditioningSetMaskAndCombineHooked:
"optional": {
"opt_mask": ("MASK", ),
"opt_lora_hook": ("LORA_HOOK",),
"opt_timesteps": ("TIMESTEPS_COND",)
"opt_timesteps": ("TIMESTEPS_COND",),
"autosize": ("ADEAUTOSIZE", {"padding": 70}),
}
}
@@ -125,7 +128,8 @@ class ConditioningSetMaskAndCombineHooked:
"optional": {
"opt_mask": ("MASK", ),
"opt_lora_hook": ("LORA_HOOK",),
"opt_timesteps": ("TIMESTEPS_COND",)
"opt_timesteps": ("TIMESTEPS_COND",),
"autosize": ("ADEAUTOSIZE", {"padding": 55}),
}
}
@@ -154,6 +158,7 @@ class PairedConditioningSetUnmaskedAndCombineHooked:
},
"optional": {
"opt_lora_hook": ("LORA_HOOK",),
"autosize": ("ADEAUTOSIZE", {"padding": 10}),
}
}
@@ -179,6 +184,7 @@ class ConditioningSetUnmaskedAndCombineHooked:
},
"optional": {
"opt_lora_hook": ("LORA_HOOK",),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -207,6 +213,9 @@ class ConditioningTimestepsNode:
"required": {
"start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}),
"end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001})
},
"optional": {
"autosize": ("ADEAUTOSIZE", {"padding": 25}),
}
}
@@ -225,6 +234,9 @@ class SetLoraHookKeyframes:
"required": {
"lora_hook": ("LORA_HOOK",),
"hook_kf": ("LORA_HOOK_KEYFRAMES",),
},
"optional": {
"autosize": ("ADEAUTOSIZE", {"padding": 40}),
}
}
@@ -249,6 +261,7 @@ class CreateLoraHookKeyframe:
},
"optional": {
"prev_hook_kf": ("LORA_HOOK_KEYFRAMES",),
"autosize": ("ADEAUTOSIZE", {"padding": 5}),
}
}
@@ -503,6 +516,9 @@ class SetModelLoraHook:
"required": {
"conditioning": ("CONDITIONING",),
"lora_hook": ("LORA_HOOK",),
},
"optional": {
"autosize": ("ADEAUTOSIZE", {"padding": 5}),
}
}
@@ -526,6 +542,9 @@ class SetClipLoraHook:
"required": {
"clip": ("CLIP",),
"lora_hook": ("LORA_HOOK",),
},
"optional": {
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -549,6 +568,7 @@ class CombineLoraHooks:
"optional": {
"lora_hook_A": ("LORA_HOOK",),
"lora_hook_B": ("LORA_HOOK",),
"autosize": ("ADEAUTOSIZE", {"padding": 30}),
}
}
@@ -572,6 +592,7 @@ class CombineLoraHookFourOptional:
"lora_hook_B": ("LORA_HOOK",),
"lora_hook_C": ("LORA_HOOK",),
"lora_hook_D": ("LORA_HOOK",),
"autosize": ("ADEAUTOSIZE", {"padding": 30}),
}
}
@@ -601,6 +622,7 @@ class CombineLoraHookEightOptional:
"lora_hook_F": ("LORA_HOOK",),
"lora_hook_G": ("LORA_HOOK",),
"lora_hook_H": ("LORA_HOOK",),
"autosize": ("ADEAUTOSIZE", {"padding": 30}),
}
}
+8 -5
View File
@@ -14,11 +14,12 @@ class AnimateDiffLoraLoader:
def INPUT_TYPES(s):
return {
"required": {
"lora_name": (get_available_motion_loras(),),
"name": (get_available_motion_loras(),),
"strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001}),
},
"optional": {
"prev_motion_lora": ("MOTION_LORA",),
"autosize": ("ADEAUTOSIZE", {"padding": 30}),
}
}
@@ -26,17 +27,19 @@ class AnimateDiffLoraLoader:
CATEGORY = "Animate Diff 🎭🅐🅓"
FUNCTION = "load_motion_lora"
def load_motion_lora(self, lora_name: str, strength: float, prev_motion_lora: MotionLoraList=None):
def load_motion_lora(self, name: str, strength: float, prev_motion_lora: MotionLoraList=None, lora_name: str=None):
if prev_motion_lora is None:
prev_motion_lora = MotionLoraList()
else:
prev_motion_lora = prev_motion_lora.clone()
if lora_name is not None: # backwards compatibility
name = lora_name
# check if motion lora with name exists
lora_path = get_motion_lora_path(lora_name)
lora_path = get_motion_lora_path(name)
if not Path(lora_path).is_file():
raise FileNotFoundError(f"Motion lora with name '{lora_name}' not found.")
raise FileNotFoundError(f"Motion lora with name '{name}' not found.")
# create motion lora info to be loaded in AnimateDiff Loader
lora_info = MotionLoraInfo(name=lora_name, strength=strength)
lora_info = MotionLoraInfo(name=name, strength=strength)
prev_motion_lora.add_lora(lora_info)
return (prev_motion_lora,)
+10
View File
@@ -32,6 +32,7 @@ class SampleSettingsNode:
"custom_cfg": ("CUSTOM_CFG",),
"sigma_schedule": ("SIGMA_SCHEDULE",),
"image_inject": ("IMAGE_INJECT",),
"autosize": ("ADEAUTOSIZE", {"padding": 10}),
}
}
@@ -63,6 +64,7 @@ class NoiseLayerReplaceNode:
"prev_noise_layers": ("NOISE_LAYERS",),
"mask_optional": ("MASK",),
"seed_override": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff, "forceInput": True}),
"autosize": ("ADEAUTOSIZE", {"padding": 20}),
}
}
@@ -98,6 +100,7 @@ class NoiseLayerAddNode:
"prev_noise_layers": ("NOISE_LAYERS",),
"mask_optional": ("MASK",),
"seed_override": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff, "forceInput": True}),
"autosize": ("ADEAUTOSIZE", {"padding": 20}),
}
}
@@ -136,6 +139,7 @@ class NoiseLayerAddWeightedNode:
"prev_noise_layers": ("NOISE_LAYERS",),
"mask_optional": ("MASK",),
"seed_override": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff, "forceInput": True}),
"autosize": ("ADEAUTOSIZE", {"padding": 10}),
}
}
@@ -197,6 +201,7 @@ class FreeInitOptionsNode:
"optional": {
"iter_batch_offset": ("INT", {"default": 0, "min": 0, "max": BIGMAX}),
"iter_seed_offset": ("INT", {"default": 1, "min": BIGMIN, "max": BIGMAX}),
"autosize": ("ADEAUTOSIZE", {"padding": 55}),
}
}
@@ -324,6 +329,7 @@ class CFGExtrasPAGNode:
},
"optional": {
"prev_extras": ("CFG_EXTRAS",),
"autosize": ("ADEAUTOSIZE", {"padding": 45}),
}
}
@@ -355,6 +361,7 @@ class CFGExtrasPAGSimpleNode:
},
"optional": {
"prev_extras": ("CFG_EXTRAS",),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -407,6 +414,7 @@ class CFGExtrasRescaleCFGSimpleNode:
},
"optional": {
"prev_extras": ("CFG_EXTRAS",),
"autosize": ("ADEAUTOSIZE", {"padding": 45}),
}
}
@@ -436,6 +444,7 @@ class NoisedImageInjectionNode:
"img_inject_opts": ("IMAGE_INJECT_OPTIONS", ),
"strength_multival": ("MULTIVAL", ),
"prev_image_inject": ("IMAGE_INJECT", ),
"autosize": ("ADEAUTOSIZE", {"padding": 0}),
}
}
@@ -465,6 +474,7 @@ class NoisedImageInjectOptionsNode:
"optional": {
"composite_x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}),
"composite_y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}),
"autosize": ("ADEAUTOSIZE", {"padding": 30}),
}
}
+40
View File
@@ -1,5 +1,7 @@
import torch
import comfy.samplers
from .utils_model import BetaSchedules, SigmaSchedule, ModelSamplingType, ModelSamplingConfig, InterpolationMethod
@@ -71,6 +73,9 @@ class WeightedAverageSigmaScheduleNode:
"schedule_A": ("SIGMA_SCHEDULE",),
"schedule_B": ("SIGMA_SCHEDULE",),
"weight_A": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.001}),
},
"optional": {
"autosize": ("ADEAUTOSIZE", {"padding": 80}),
}
}
@@ -124,6 +129,9 @@ class SplitAndCombineSigmaScheduleNode:
"schedule_Start": ("SIGMA_SCHEDULE",),
"schedule_End": ("SIGMA_SCHEDULE",),
"idx_split_percent": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.001})
},
"optional": {
"autosize": ("ADEAUTOSIZE", {"padding": 40}),
}
}
@@ -139,3 +147,35 @@ class SplitAndCombineSigmaScheduleNode:
new_schedule = schedule_Start.clone()
new_schedule.model_sampling.set_sigmas(new_sigmas)
return (new_schedule,)
class SigmaScheduleToSigmasNode:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"sigma_schedule": ("SIGMA_SCHEDULE",),
"scheduler": (comfy.samplers.SCHEDULER_NAMES, ),
"steps": ("INT", {"default": 20, "min": 1, "max": 10000}),
"denoise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}),
},
"optional": {
"autosize": ("ADEAUTOSIZE", {"padding": 50}),
}
}
RETURN_TYPES = ("SIGMAS",)
CATEGORY = "Animate Diff 🎭🅐🅓/sample settings/sigma schedule"
FUNCTION = "get_sigmas"
def get_sigmas(self, sigma_schedule: SigmaSchedule, scheduler: str, steps: int, denoise: float):
total_steps = steps
if denoise < 1.0:
if denoise <= 0.0:
return (torch.FloatTensor([]),)
total_steps = int(steps/denoise)
sigmas = comfy.samplers.calculate_sigmas(sigma_schedule, scheduler, total_steps).cpu()
sigmas = sigmas[-(steps + 1):]
return (sigmas, )