From 49f623091100ea85d4b1c30d5975a4e9b4e4d87f Mon Sep 17 00:00:00 2001 From: Beinsezii Date: Sat, 11 Apr 2026 19:59:59 -0700 Subject: [PATCH 1/4] Changelog 0.6 --- CHANGELOG.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94eab79..aeaf67e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,9 @@ Removed sampling.common.Predictor and functions Separated Karras/Beta/Exponential/SigmoidCDf into new SubSchedule type -Lots of other small improvements +Removed predictor functions + +Schedules precompute alphas ### Additions Add sampling.functional @@ -21,8 +23,12 @@ Add SkrampleWrapperCore, RKUltraWrapperScheduler Add Sinner modifier -### Fixes -Small bugs with plot_skrample.py +### Improvements +Brownian rework + +plot_skrample rework + +too many to list ## 0.5.3 ### Fixes From 1f54be4c4387e27807cfe040cc5b4b3ee54119d2 Mon Sep 17 00:00:00 2001 From: Beinsezii Date: Sat, 11 Apr 2026 20:20:20 -0700 Subject: [PATCH 2/4] README for 0.6.0 --- README.md | 79 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index f6cb598..2ca6e0c 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# Skrample 0.5.3 +# Skrample 0.6.0 Composable sampling functions for diffusion models ## Status -Mostly complete for common models, superseding all diffusers features in [quickdif](https://github.com/Beinsezii/quickdif.git) +Production-tested on all popular diffusion models. The library has significantly matured since 0.5 ### Quickstart Fastest way to jump in is [examples](./examples/). The classes and functions themselves have docstrings and type hints, so it's recommended to make liberal use of your IDE or python `help()` @@ -10,43 +10,73 @@ Fastest way to jump in is [examples](./examples/). The classes and functions the ### Feature Flags - `beta-schedule` -> `scipy` : For the `Beta()` schedule modifier - `brownian-noise` -> `torchsde` : For the `Brownian()` noise generator - - `cdf-schedule` -> `scipy` : For the `SigmoidCDF()` schedule + - `cdf-schedule` -> `scipy` : For the `Probit()` schedule - `diffusers-wrapper` -> `torch` : For the `diffusers` integration module - `pytorch` -> `torch` : For the `pytorch` module - `pytorch.noise` : Custom generators - `all` : All of the above - `dev` : For running `tests/` -### Samplers +### Structured Samplers +These samplers are written inside-out to be compatible with Diffusers and similar frameworks + - Euler + - Stochastic - DPM - - 1st order, 2nd order, 3rd order - - SDE + - Order 1-3 + - Stochastic - Adams/IPNDM + - Order 1-9 + - Stochastic - UniP & UniPC - - N order, limited to 9 for stability - - Custom solver via other SkrampleSampler types + - Order 1-9 + - Stochastic + - Custom predictor via other SkrampleSampler types - SPC - Basic fully customizable midpoint corrector +### Functional Samplers +These samplers are written using closures similar to ksampler + +- RKUltra + - Arbitrary Runge-Kutta solver + - Order 1-15, customizable through tableaux system + - Stochastic +- DynasauRK + - Procedural Runge-Kutta solver + - Order 2-4 + - Stochastic +- RKMoire + - Embedded Runge-Kutta solver + - Orders 2-5, customizable through tableaux system + ### Schedules - Linear + - Flow-matching default - Scaled - - `uniform` flag, AKA `"trailing"` in diffusers -- SigmaCDF + - Variance-preserving default - ZSNR -### Schedule modifiers +### Subschedules +Replaces sigmas on an existing schedule + - Karras - Exponential -- FlowShift - Beta +- Probit + +### Schedule Modifiers +Modifies timestep spacing of a schedule + +- FlowShift - Hyper +- Sinner -### Predictors -- Epsilon -- Velocity / vpred -- Flow +### Models +- Data / Sample / X-Pred +- Noise / Epsilon / Ε-Pred +- Velocity / V-Pred +- Flow / U-pred ### Noise generators - Random @@ -56,21 +86,16 @@ Fastest way to jump in is [examples](./examples/). The classes and functions the ## Integrations ### Diffusers -- [X] Compatibility for pipelines - - [X] SD1 - - [X] SDXL - - [X] SD3 - - [X] Flux +- [X] Compatibile with DiffusionPipeline - [X] Import from config - [X] Sampler - [X] Schedule - [X] Predictor -- [X] Manage state - - [X] Steps - - [X] Higher order - - [X] Generators - - [X] Config as presented +- [X] Structured sampler wrapper +- [X] Functional sampler wrappers + - [X] RKUltra + - [X] DynasauRK ## Implementations ### quickdif -My diffusers cli [quickdif](https://github.com/Beinsezii/quickdif) has full support for all major Skrample features, allowing extremely fine-grained customization. +My diffusers cli [quickdif](https://github.com/Beinsezii/quickdif) has full support for all major Diffusers-compatible Skrample features, allowing extremely fine-grained customization. From 7a7fc04579797d71b99a0e0ade34a98f46adf647 Mon Sep 17 00:00:00 2001 From: Beinsezii Date: Sat, 11 Apr 2026 20:21:07 -0700 Subject: [PATCH 3/4] Pyproject 0.6.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 08c57af..385ee20 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "skrample" -version = "0.6.0-dev" +version = "0.6.0" description = "Composable sampling functions for diffusion models" readme = "README.md" authors = [{ name = "Beinsezii", email = "beinsezii@gmail.com" }] From 8a6a1eabfdacbe7dc05380e7d44186938dbead98 Mon Sep 17 00:00:00 2001 From: Beinsezii Date: Sun, 12 Apr 2026 17:54:12 -0700 Subject: [PATCH 4/4] Update readme for new RKMoire preset --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2ca6e0c..504ab9b 100644 --- a/README.md +++ b/README.md @@ -47,8 +47,9 @@ These samplers are written using closures similar to ksampler - Order 2-4 - Stochastic - RKMoire + - Experimental - Embedded Runge-Kutta solver - - Orders 2-5, customizable through tableaux system + - Order 2-6, customizable through tableaux system ### Schedules - Linear