Skip to content

Commit 3f6e344

Browse files
authored
Add files via upload
FSampler Changelog: 2026-01-01 v1.5.0 Sigma-Aware Extrapolation New sigma_aware toggle (FSampler Advanced / FSampler Select) — uses actual sigma coordinates for Lagrange interpolation Improves skip prediction accuracy with non-uniform schedulers (bong_tangent, karras, exponential, beta, etc.) Enabled by default in the simple FSampler node Denoised Extrapolation New extrapolate_denoised toggle — extrapolates the model's denoised (clean image) output instead of epsilon Denoised converges smoothly toward the final image, can produce more stable skip predictions Enabled by default in the simple FSampler node Composes with sigma_aware (orthogonal: sigma_aware controls weights, denoised controls what quantity is extrapolated) New Node: FSampler Select Outputs SAMPLER + SIGMAS for use with ComfyUI's SamplerCustom (KSamplerCustom) node Lets you plug FSampler's skip-aware sampling into the standard modular workflow alongside any guider (CFGGuider, DualCFGGuider, BasicGuider, etc.) Wire sampler → SamplerCustom's sampler slot, sigmas → SamplerCustom's sigmas slot All FSampler skip/adaptive controls available; model/conditioning/cfg/noise handled by SamplerCustom Live Preview FSampler and FSampler Advanced now show live image previews during sampling (Latent2RGB, auto-enabled)
1 parent 032a40f commit 3f6e344

34 files changed

Lines changed: 1311 additions & 75 deletions

README.md

Lines changed: 65 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,29 @@ when that error is below a hardcoded tolerance. Predicted epsilons are validated
1111
by guard rails, and the sampler math (Euler, RES 2M/2S, DDIM, DPM++ 2M/2S, LMS) is unchanged.
1212

1313
## FSampler Changelog:
14+
## 2026-01-01
1415

15-
## 2025-10-12
16-
### New Samplers Added
16+
## v1.5.0
17+
### Sigma-Aware Extrapolation
18+
- New `sigma_aware` toggle (FSampler Advanced / FSampler Select) — uses actual sigma coordinates for Lagrange interpolation
19+
- Improves skip prediction accuracy with non-uniform schedulers (bong_tangent, karras, exponential, beta, etc.)
20+
- Enabled by default in the simple FSampler node
1721

18-
- #### `res_multistep_ancestral`
19-
- #### `heun`
20-
- #### `gradient_estimation`
22+
### Denoised Extrapolation
23+
- New `extrapolate_denoised` toggle — extrapolates the model's denoised (clean image) output instead of epsilon
24+
- Denoised converges smoothly toward the final image, can produce more stable skip predictions
25+
- Enabled by default in the simple FSampler node
26+
- Composes with sigma_aware (orthogonal: sigma_aware controls weights, denoised controls what quantity is extrapolated)
2127

22-
### Adaptive Skip Modes
23-
- #### `grad_est`
24-
- #### `learn+grad_est`
28+
29+
### New Node: FSampler Select
30+
- Outputs `SAMPLER` + `SIGMAS` for use with ComfyUI's **SamplerCustom** (KSamplerCustom) node
31+
- Lets you plug FSampler's skip-aware sampling into the standard modular workflow alongside any guider (CFGGuider, DualCFGGuider, BasicGuider, etc.)
32+
- Wire `sampler` → SamplerCustom's sampler slot, `sigmas` → SamplerCustom's sigmas slot
33+
- All FSampler skip/adaptive controls available; model/conditioning/cfg/noise handled by SamplerCustom
34+
35+
### Live Preview
36+
- FSampler and FSampler Advanced now show live image previews during sampling (Latent2RGB, auto-enabled)
2537

2638
### Explicit Skip Indices with Predictor Selection
2739
- Manual step selection with extrapolation method control (Good for low step count workflows)
@@ -78,7 +90,7 @@ Method 2: Manual Download
7890
## Usage (ComfyUI)
7991

8092
- For quick usage start with the Fsampler rather than the FSampler Advanced as the simpler version only need noise and adaption mode to operate.
81-
- Swap with your normal KSampler node.
93+
- Swap with your normal KSampler node.
8294

8395
1. Add the **FSampler** node (or **FSampler Advanced** for more control)
8496
2. Choose your **sampler** and **scheduler** as usual
@@ -90,6 +102,50 @@ Method 2: Manual Download
90102
- `adaptive` — aggressive, 40-60%+ speedup (may degrade on tough configs)
91103
4. Adjust **protect_first_steps** / **protect_last_steps** if needed (defaults are usually fine)
92104

105+
### FSampler Select (Modular / KSamplerCustom)
106+
107+
For advanced workflows using ComfyUI's modular sampling system:
108+
109+
1. Add **FSampler Select** — configure your sampler, scheduler, steps, and skip settings
110+
2. Add **SamplerCustom** (ComfyUI's KSamplerCustom node)
111+
3. Wire FSampler Select's `sampler` output → SamplerCustom's `sampler` input
112+
4. Wire FSampler Select's `sigmas` output → SamplerCustom's `sigmas` input
113+
5. Wire your model, positive/negative conditioning, cfg, and latent into SamplerCustom as normal
114+
115+
This lets you use FSampler with any guider (CFGGuider, DualCFGGuider, BasicGuider) and the rest of the modular sampling ecosystem.
116+
117+
## Extrapolation Settings (v1.5.0)
118+
119+
FSampler Advanced and FSampler Select expose two new boolean toggles that can help reduce prediction drift on skipped steps. Both are enabled by default in the simple FSampler node.
120+
121+
### Sigma-Aware Extrapolation (`sigma_aware`)
122+
123+
Standard extrapolation assumes steps are uniformly spaced. Many schedulers (bong_tangent, karras, exponential, beta, etc.) have highly non-uniform spacing — dense in some regions, sparse in others. With uniform assumptions, the Lagrange basis weights can be wrong and predictions may drift.
124+
125+
When `sigma_aware` is enabled, FSampler uses the actual sigma values as coordinates for Lagrange interpolation. This can give more accurate polynomial weights when scheduler spacing is non-uniform.
126+
127+
- **Best for:** non-uniform schedulers (bong_tangent, karras, exponential, beta)
128+
- **No effect on:** uniform schedulers (normal) — weights are identical either way
129+
- **Default:** OFF in Advanced/Select, ON in simple FSampler
130+
131+
### Denoised Extrapolation (`extrapolate_denoised`)
132+
133+
Standard FSampler extrapolates **epsilon** (noise prediction) = `denoised - x`. Epsilon depends on both the model's output AND the changing noisy latent `x`, which can introduce variability from both sources.
134+
135+
When `extrapolate_denoised` is enabled, FSampler extrapolates the model's **denoised** output directly — its best guess at the clean image. Denoised tends to converge more smoothly toward the final image as noise decreases, which can make it a more stable quantity to extrapolate and may reduce prediction drift. The predicted denoised is then converted back to epsilon for the sampler.
136+
137+
- **Orthogonal to sigma_aware:** sigma_aware controls interpolation weights, denoised controls what quantity is extrapolated. Both can be used together.
138+
- **Default:** OFF in Advanced/Select, ON in simple FSampler
139+
140+
### Recommended Combinations
141+
142+
| Setting | Best For |
143+
|---------|----------|
144+
| Both OFF | Baseline comparison, uniform schedulers with simple samplers |
145+
| `sigma_aware` only | Non-uniform schedulers where epsilon extrapolation already works well |
146+
| `extrapolate_denoised` only | Any scheduler where skip quality needs improvement |
147+
| Both ON (simple FSampler default) | Generally good results, especially with non-uniform schedulers |
148+
93149
## Quality & Safety
94150
- Validators: finite checks, magnitude clamp vs history, cosine vs last REAL epsilon.
95151
- Learning stabilizer L: scales predicted epsilon by 1/L on skipped steps; updates on REAL steps only.
5 Bytes
Binary file not shown.
5 Bytes
Binary file not shown.
5 Bytes
Binary file not shown.
5 Bytes
Binary file not shown.
5 Bytes
Binary file not shown.
5 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)