2.7 KiB
2.7 KiB
tags
| tags | |||
|---|---|---|---|
|
Adjust PE [Sweetspot Stretch] 🎭🅐🅓
Documentation
- Class name:
ADE_AdjustPESweetspotStretch - Category:
Animate Diff 🎭🅐🅓/ad settings/pe adjust - Output node:
False
This node is designed to adjust the position encoding (PE) sweetspot stretch in the AnimateDiff framework, allowing for dynamic modification of the PE stretch based on input parameters. It facilitates the fine-tuning of animation effects by modifying how the position encoding adapts over the course of an animation.
Input types
Required
sweetspot- Defines the initial position encoding length, serving as a baseline for adjustments.
- Comfy dtype:
INT - Python dtype:
int
new_sweetspot- Specifies the target position encoding length to adjust towards, enabling the stretch or compression of the encoding.
- Comfy dtype:
INT - Python dtype:
int
print_adjustment- A flag to control the logging of adjustment details, aiding in debugging and fine-tuning.
- Comfy dtype:
BOOLEAN - Python dtype:
bool
Optional
prev_pe_adjust- Allows for the incorporation of previous position encoding adjustments, enabling cumulative modifications.
- Comfy dtype:
PE_ADJUST - Python dtype:
custom.AdjustGroup
Output types
pe_adjust- Comfy dtype:
PE_ADJUST - Returns the updated position encoding adjustment, encapsulating the modifications applied.
- Python dtype:
custom.AdjustGroup
- Comfy dtype:
Usage tips
- Infra type:
CPU - Common nodes: unknown
Source code
class SweetspotStretchPENode:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"sweetspot": ("INT", {"default": 16, "min": 0, "max": BIGMAX},),
"new_sweetspot": ("INT", {"default": 16, "min": 0, "max": BIGMAX},),
"print_adjustment": ("BOOLEAN", {"default": False}),
},
"optional": {
"prev_pe_adjust": ("PE_ADJUST",),
}
}
RETURN_TYPES = ("PE_ADJUST",)
CATEGORY = "Animate Diff 🎭🅐🅓/ad settings/pe adjust"
FUNCTION = "get_pe_adjust"
def get_pe_adjust(self, sweetspot: int, new_sweetspot: int, print_adjustment: bool, prev_pe_adjust: AdjustGroup=None):
if prev_pe_adjust is None:
prev_pe_adjust = AdjustGroup()
prev_pe_adjust = prev_pe_adjust.clone()
adjust = AdjustPE(cap_initial_pe_length=sweetspot, interpolate_pe_to_length=new_sweetspot,
print_adjustment=print_adjustment)
prev_pe_adjust.add(adjust)
return (prev_pe_adjust,)