117 lines
5.2 KiB
Markdown
117 lines
5.2 KiB
Markdown
---
|
|
tags:
|
|
- AnimateDiff
|
|
- Animation
|
|
- ModelTuning
|
|
- Weight
|
|
---
|
|
|
|
# Adjust Weight [Indiv-Attn◆Mult] 🎭🅐🅓
|
|
## Documentation
|
|
- Class name: `ADE_AdjustWeightIndivAttnMult`
|
|
- Category: `Animate Diff 🎭🅐🅓/ad settings/weight adjust`
|
|
- Output node: `False`
|
|
|
|
This node is designed to adjust the weights of individual attention components in a model by applying multiplication factors. It allows for fine-tuning of the attention mechanism's parameters, such as query, key, value, and output weights and biases, to potentially enhance model performance or adapt it to specific tasks.
|
|
## Input types
|
|
### Required
|
|
- **`pe_MULT`**
|
|
- Specifies the multiplication factor for positional encoding weights, influencing how much the positional information contributes to the model's attention mechanism.
|
|
- Comfy dtype: `FLOAT`
|
|
- Python dtype: `float`
|
|
- **`attn_MULT`**
|
|
- Determines the overall multiplication factor for the attention weights, affecting the model's focus on different parts of the input.
|
|
- Comfy dtype: `FLOAT`
|
|
- Python dtype: `float`
|
|
- **`attn_q_MULT`**
|
|
- Applies a multiplication factor to the query weights of the attention mechanism, adjusting its querying capabilities.
|
|
- Comfy dtype: `FLOAT`
|
|
- Python dtype: `float`
|
|
- **`attn_k_MULT`**
|
|
- Sets the multiplication factor for the key weights, influencing the model's ability to match queries to relevant information.
|
|
- Comfy dtype: `FLOAT`
|
|
- Python dtype: `float`
|
|
- **`attn_v_MULT`**
|
|
- Controls the multiplication factor for the value weights, affecting how input information is summarized.
|
|
- Comfy dtype: `FLOAT`
|
|
- Python dtype: `float`
|
|
- **`attn_out_weight_MULT`**
|
|
- Adjusts the output weights of the attention mechanism through a multiplication factor, impacting the final attention output.
|
|
- Comfy dtype: `FLOAT`
|
|
- Python dtype: `float`
|
|
- **`attn_out_bias_MULT`**
|
|
- Modifies the bias of the attention output with a multiplication factor, potentially altering the attention mechanism's output bias.
|
|
- Comfy dtype: `FLOAT`
|
|
- Python dtype: `float`
|
|
- **`other_MULT`**
|
|
- Applies a multiplication factor to other unspecified model weights, offering a generic way to adjust model parameters.
|
|
- Comfy dtype: `FLOAT`
|
|
- Python dtype: `float`
|
|
- **`print_adjustment`**
|
|
- A flag to enable or disable printing of the adjustment details, useful for debugging or monitoring the adjustment process.
|
|
- Comfy dtype: `BOOLEAN`
|
|
- Python dtype: `bool`
|
|
### Optional
|
|
- **`prev_weight_adjust`**
|
|
- Allows for chaining adjustments by taking a previous weight adjustment group as input, enabling cumulative adjustments.
|
|
- Comfy dtype: `WEIGHT_ADJUST`
|
|
- Python dtype: `AdjustGroup`
|
|
## Output types
|
|
- **`weight_adjust`**
|
|
- Comfy dtype: `WEIGHT_ADJUST`
|
|
- Returns an updated weight adjustment group, incorporating the specified multiplicative adjustments to the model's attention mechanism and potentially other weights.
|
|
- Python dtype: `AdjustGroup`
|
|
## Usage tips
|
|
- Infra type: `CPU`
|
|
- Common nodes: unknown
|
|
|
|
|
|
## Source code
|
|
```python
|
|
class WeightAdjustIndivAttnMultNode:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {
|
|
"required": {
|
|
"pe_MULT": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 2.0, "step": 0.000001}),
|
|
"attn_MULT": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 2.0, "step": 0.000001}),
|
|
"attn_q_MULT": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 2.0, "step": 0.000001}),
|
|
"attn_k_MULT": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 2.0, "step": 0.000001}),
|
|
"attn_v_MULT": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 2.0, "step": 0.000001}),
|
|
"attn_out_weight_MULT": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 2.0, "step": 0.000001}),
|
|
"attn_out_bias_MULT": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 2.0, "step": 0.000001}),
|
|
"other_MULT": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 2.0, "step": 0.000001}),
|
|
"print_adjustment": ("BOOLEAN", {"default": False}),
|
|
},
|
|
"optional": {
|
|
"prev_weight_adjust": ("WEIGHT_ADJUST",),
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("WEIGHT_ADJUST",)
|
|
CATEGORY = "Animate Diff 🎭🅐🅓/ad settings/weight adjust"
|
|
FUNCTION = "get_weight_adjust"
|
|
|
|
def get_weight_adjust(self, pe_MULT: float, attn_MULT: float,
|
|
attn_q_MULT: float, attn_k_MULT: float, attn_v_MULT: float,
|
|
attn_out_weight_MULT: float, attn_out_bias_MULT: float,
|
|
other_MULT: float, print_adjustment: bool, prev_weight_adjust: AdjustGroup=None):
|
|
if prev_weight_adjust is None:
|
|
prev_weight_adjust = AdjustGroup()
|
|
prev_weight_adjust = prev_weight_adjust.clone()
|
|
adjust = AdjustWeight(
|
|
pe_MULT=pe_MULT,
|
|
attn_MULT=attn_MULT,
|
|
attn_q_MULT=attn_q_MULT,
|
|
attn_k_MULT=attn_k_MULT,
|
|
attn_v_MULT=attn_v_MULT,
|
|
attn_out_weight_MULT=attn_out_weight_MULT,
|
|
attn_out_bias_MULT=attn_out_bias_MULT,
|
|
other_MULT=other_MULT,
|
|
print_adjustment=print_adjustment
|
|
)
|
|
prev_weight_adjust.add(adjust)
|
|
return (prev_weight_adjust,)
|
|
|
|
```
|