Skip to main content

Skrample 0.7.0

Composable sampling functions for diffusion models

Status

Production-tested on all popular diffusion models. The library has significantly matured since 0.5

Quickstart

Fastest way to jump in is 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()

Feature Flags

  • beta-schedule -> scipy : For the Beta() schedule modifier
  • brownian-noise -> torchsde : For the Brownian() noise generator
  • 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/

Structured Samplers

These samplers are written inside-out to be compatible with Diffusers and similar frameworks

  • Euler
    • Stochastic
  • DPM
    • Order 1-3
    • Stochastic
  • Adams/IPNDM
    • Order 1-9
    • Stochastic
  • UniP & UniPC
    • 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
    • Experimental
    • Embedded Runge-Kutta solver
    • Order 2-6, customizable through tableaux system

Schedules

  • Linear
    • Flow-matching default
  • Scaled
    • Variance-preserving default
  • ZSNR

Subschedules

Replaces sigmas on an existing schedule

  • Karras
  • Exponential
  • Beta
  • Probit

Schedule Modifiers

Modifies timestep spacing of a schedule

  • FlowShift
  • Hyper
  • Sinner

Models

  • Data / Sample / X-Pred
  • Noise / Epsilon / Ε-Pred
  • Velocity / V-Pred
  • Flow / U-pred

Noise generators

  • Random
  • Brownian
  • Colored
  • Offset
  • Pyramid

Integrations

Diffusers

  • Compatibile with DiffusionPipeline
  • Import from config
    • Sampler
    • Schedule
    • Predictor
  • Structured sampler wrapper
  • Functional sampler wrappers
    • RKUltra
    • DynasauRK

Implementations

quickdif

My diffusers cli quickdif has full support for all major Diffusers-compatible Skrample features, allowing extremely fine-grained customization.

Release files for skrample 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skrample 0.7.0
File Size Uploaded
skrample-0.7.0.tar.gz 83.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skrample 0.7.0
File Interpreter ABI Platform
skrample-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 172.3 kB

Release files / skrample-0.7.0.tar.gz

Download URL skrample-0.7.0.tar.gz
Size 83.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3a39873d558e904f96416309498c97228cb57598675586f0cfa886ac08430b3e
BLAKE2b-256 checksum
How to use checksums
0e3b5e89cca43012a204c56e85f3bf58bda729893ddf4bdba95d1a0e8cd39158
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / skrample-0.7.0-py3-none-any.whl

Download URL skrample-0.7.0-py3-none-any.whl
Size 88.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9cea08c0b5aedf0507b137d7a558754dadba33e92731ab76d20a0e8360992c3e
BLAKE2b-256 checksum
How to use checksums
6f19942d85ee0527889eb67d4f319b5db1bd4bec1614eb64fa2e080fbbaa09c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page