Adept Scheduler (Stochastic)
A scheduler that fidgets on purpose
- model
- SIGMAS
Every other scheduler in this pack is deterministic - same seed, same steps, same sigma curve, same image. This one deliberately isn't. It builds a normal schedule and then perturbs the step placement with random noise, so each run samples at slightly different points along the trajectory. It's a creativity-and-robustness tool: the output varies run to run even at the same seed, and the variation is precisely the kind that exploration workflows want.
Mechanically it's a two-part build. First it picks a base schedule from a dropdown - karras, uniform, or cosine - to establish the overall shape of the curve. Then it perturbs the step positions by adding noise scaled by noise_scale, in one of three flavors from the noise_type dropdown:
- brownian - cumulative random walk noise, normalized. This is the interesting one: because it's a cumulative sum, the perturbation wanders smoothly instead of jumping, so the step placement drifts gently through the run rather than twitching at every step. The default.
- normal - independent Gaussian jitter at each step. Noisier, less coherent placement.
- uniform - jitter drawn from a flat distribution. The most aggressive at the same scale.
The perturbed positions get clamped to [0,1], mapped through the Karras rho formula, and then sorted back into descending order with a monotonicity guard - the scheduler will never hand your sampler a non-decreasing sigma sequence, because that's how you get NaN soup.
Inputs: model, steps (default 20), and the three dropdowns above plus noise_scale (0–1, default 0.3). Output is SIGMAS into SamplerCustom. Keep noise_scale modest to start - 0.3 is already visible variation; past 0.5 the perturbations start distorting the base schedule shape rather than just jittering it.
The honest take: this is a niche-within-a-niche node, and its best use is less obvious than its name suggests. It's not for getting "better" images - it's for getting different ones, which makes it a decent variation tool when an ancestral sampler isn't varied enough, or a way to sanity-check that your workflow isn't brittle to schedule changes (run a few stochastic passes and see if the base image holds together). If you want reproducible output, this node is the wrong tool and you know it in advance. But as a fidget knob, it's well-built: the brownian option is genuinely nicer than plain random jitter, and the monotonicity guard means it fails gracefully instead of explosively.
Install is the pack-wide one:
cd ComfyUI/custom_nodes
git clone https://github.com/nawka12/ComfyUI-Adept-Sampler
Restart ComfyUI, or install via ComfyUI Manager by searching "ComfyUI-Adept-Sampler". No requirements.txt, no model downloads - the whole pack is pure Python on torch.
One real-world note: because step placement changes per run, you can't meaningfully use this to compare sampler quality - any differences you see are the schedule fidgeting, not the sampler improving. Use it for exploration, keep it out of your A/B test harness.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| steps | INT | 201–10000 | — |
| noise_type | COMBO | 3 options: brownian, uniform, normal | |
| noise_scale | FLOAT | 0.300–1 | — |
| base_schedule | COMBO | 3 options: karras, uniform, cosine |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |