124 lines
5.2 KiB
Markdown
124 lines
5.2 KiB
Markdown
---
|
|
tags:
|
|
- Sampling
|
|
---
|
|
|
|
# KSampler (Advanced)
|
|
## Documentation
|
|
- Class name: `KSamplerAdvanced`
|
|
- Category: `sampling`
|
|
- Output node: `False`
|
|
|
|
The KSamplerAdvanced node is designed to enhance the sampling process by providing advanced configurations and techniques. It aims to offer more sophisticated options for generating samples from a model, improving upon the basic KSampler functionalities.
|
|
## Input types
|
|
### Required
|
|
- **`model`**
|
|
- Specifies the model from which samples are to be generated, playing a crucial role in the sampling process.
|
|
- Comfy dtype: `MODEL`
|
|
- Python dtype: `str`
|
|
- **`add_noise`**
|
|
- Determines whether noise should be added to the sampling process, affecting the diversity and quality of the generated samples.
|
|
- Comfy dtype: `COMBO[STRING]`
|
|
- Python dtype: `bool`
|
|
- **`noise_seed`**
|
|
- Sets the seed for noise generation, ensuring reproducibility in the sampling process.
|
|
- Comfy dtype: `INT`
|
|
- Python dtype: `int`
|
|
- **`steps`**
|
|
- Defines the number of steps to be taken in the sampling process, impacting the detail and quality of the output.
|
|
- Comfy dtype: `INT`
|
|
- Python dtype: `int`
|
|
- **`cfg`**
|
|
- Controls the conditioning factor, influencing the direction and space of the sampling process.
|
|
- Comfy dtype: `FLOAT`
|
|
- Python dtype: `float`
|
|
- **`sampler_name`**
|
|
- Selects the specific sampler to be used, allowing for customization of the sampling technique.
|
|
- Comfy dtype: `COMBO[STRING]`
|
|
- Python dtype: `str`
|
|
- **`scheduler`**
|
|
- Chooses the scheduler for controlling the sampling process, affecting the progression and quality of samples.
|
|
- Comfy dtype: `COMBO[STRING]`
|
|
- Python dtype: `str`
|
|
- **`positive`**
|
|
- Specifies the positive conditioning to guide the sampling towards desired attributes.
|
|
- Comfy dtype: `CONDITIONING`
|
|
- Python dtype: `str`
|
|
- **`negative`**
|
|
- Specifies the negative conditioning to steer the sampling away from certain attributes.
|
|
- Comfy dtype: `CONDITIONING`
|
|
- Python dtype: `str`
|
|
- **`latent_image`**
|
|
- Provides the initial latent image to be used in the sampling process, serving as a starting point.
|
|
- Comfy dtype: `LATENT`
|
|
- Python dtype: `str`
|
|
- **`start_at_step`**
|
|
- Determines the starting step of the sampling process, allowing for control over the sampling progression.
|
|
- Comfy dtype: `INT`
|
|
- Python dtype: `int`
|
|
- **`end_at_step`**
|
|
- Sets the ending step of the sampling process, defining the scope of the sampling.
|
|
- Comfy dtype: `INT`
|
|
- Python dtype: `int`
|
|
- **`return_with_leftover_noise`**
|
|
- Indicates whether to return the sample with leftover noise, affecting the final output's appearance.
|
|
- Comfy dtype: `COMBO[STRING]`
|
|
- Python dtype: `str`
|
|
## Output types
|
|
- **`latent`**
|
|
- Comfy dtype: `LATENT`
|
|
- The output represents the latent image generated from the model, reflecting the applied configurations and techniques.
|
|
- Python dtype: `str`
|
|
## Usage tips
|
|
- Infra type: `CPU`
|
|
- Common nodes:
|
|
- [VAEDecode](../../Comfy/Nodes/VAEDecode.md)
|
|
- Reroute
|
|
- workflow/KSampler + Vae
|
|
- gcLatentTunnel
|
|
- [Anything Everywhere](../../cg-use-everywhere/Nodes/Anything Everywhere.md)
|
|
- [LatentCompositeMasked](../../Comfy/Nodes/LatentCompositeMasked.md)
|
|
- [KSampler](../../Comfy/Nodes/KSampler.md)
|
|
- [LatentBlend](../../Comfy/Nodes/LatentBlend.md)
|
|
- Mute / Bypass Repeater (rgthree)
|
|
|
|
|
|
|
|
## Source code
|
|
```python
|
|
class KSamplerAdvanced:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {"required":
|
|
{"model": ("MODEL",),
|
|
"add_noise": (["enable", "disable"], ),
|
|
"noise_seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}),
|
|
"steps": ("INT", {"default": 20, "min": 1, "max": 10000}),
|
|
"cfg": ("FLOAT", {"default": 8.0, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01}),
|
|
"sampler_name": (comfy.samplers.KSampler.SAMPLERS, ),
|
|
"scheduler": (comfy.samplers.KSampler.SCHEDULERS, ),
|
|
"positive": ("CONDITIONING", ),
|
|
"negative": ("CONDITIONING", ),
|
|
"latent_image": ("LATENT", ),
|
|
"start_at_step": ("INT", {"default": 0, "min": 0, "max": 10000}),
|
|
"end_at_step": ("INT", {"default": 10000, "min": 0, "max": 10000}),
|
|
"return_with_leftover_noise": (["disable", "enable"], ),
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("LATENT",)
|
|
FUNCTION = "sample"
|
|
|
|
CATEGORY = "sampling"
|
|
|
|
def sample(self, model, add_noise, noise_seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, start_at_step, end_at_step, return_with_leftover_noise, denoise=1.0):
|
|
force_full_denoise = True
|
|
if return_with_leftover_noise == "enable":
|
|
force_full_denoise = False
|
|
disable_noise = False
|
|
if add_noise == "disable":
|
|
disable_noise = True
|
|
return common_ksampler(model, noise_seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise, disable_noise=disable_noise, start_step=start_at_step, last_step=end_at_step, force_full_denoise=force_full_denoise)
|
|
|
|
```
|