Sigmas NormalizingFlows
A schedule generator built from ML's normalizing flows
- SIGMAS
Most of the standard sigma schedules you know - Karras, exponential, beta - are closed-form curves: plug in a formula, get a shape. This node is stranger. Normalizing flows are a real machine-learning technique for building a complex probability distribution by chaining a series of simple, invertible transforms on top of a plain one. RES4LYF borrows that machinery here, not to model an image, but to shape a sigma schedule: it generates one from scratch by running a stack of flow transforms and reading off the resulting curve.
Be honest with yourself about what this buys you. It's not a documented, community-tested alternative to beta57 or Karras - it's a generator for novel curve shapes that exist because the pack's author likes building this kind of thing. If you're chasing a known-good schedule for a specific model, check that model's card or the standard RES4LYF samplers first. Reach for this one when you're specifically curious what an "unconventional" schedule shape does to your output, and you're willing to experiment without a recipe to follow.
How it works
This is a generator, not a transform - there's no schedule input, only parameters. steps sets how many entries the output has. start_value and end_value set the range it spans, high to low, same role as the max/min sigma in any other scheduler. flow_type picks which family of transform shapes the curve: affine, planar, radial, and realnvp are all genuine, named architectures from the normalizing-flow literature, each with a different character of warp. num_transforms controls how many of those layers get stacked - more layers, more opportunity for the curve to bend away from a simple monotonic slope. seed exists because flow-based construction involves randomness; fix it to get the same curve back on a re-run.
The inputs and outputs that matter
All six inputs are required since this generates from nothing: steps, start_value, end_value, flow_type, num_transforms, and seed. There's one output, SIGMAS, which wires directly into a sampler's sigma input or into another Sigmas- node for further shaping.
Installing it
ComfyUI Manager: search RES4LYF, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt
Portable ComfyUI installs should point that last command at the embedded pip.exe instead. Restart and hard-refresh afterward.
Where people get tripped up
There's no guarantee the generated curve is a clean, monotonically decreasing slope the way a standard schedule is - with enough transforms stacked, a normalizing flow can produce local bumps. Samplers generally assume noise only goes down, so if a generation from this schedule looks corrupted or unstable, check the actual output values (a plot or a preview node helps) before assuming your sampler settings are wrong.
Beyond that, there's no established troubleshooting lore for this specific node - it's too niche for that to exist yet. Treat a first run as exploratory: keep num_transforms low (one or two), compare against a plain Karras or beta57 schedule side by side, and only push the flow further if you can actually see it buying you something.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 305–100 | — |
| start_value | FLOAT | 10.00.1–50 | — |
| end_value | FLOAT | 0.010–10 | — |
| flow_type | COMBO | realnvp | 4 options: affine, planar, radial, realnvp |
| num_transforms | INT | 31–10 | — |
| seed | INT | 420–99999 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |