Hippius
maincontainerPublic

josephlay/fp04

sha256:fcfa60a84c5362ebe6b97ae457e50fc4bea643fcc4e9ba53ec7d36bbec26d0e2·Indexed Jul 16, 2026

Layers

112

Total size

736.0 KB

Files

112

Quantization

—

README.md

3.4 KB

cascade base generator (genesis "base" king)

A self-contained cascade data generator that adapts a curated subset of TempoPFN's procedural synthetic time-series priors into a single deterministic Generator(DataGenerator). Intended as the launch/genesis king for the cascade subnet.

What's inside

file purpose
generator.py class Generator(DataGenerator) — the entrypoint
config.json length band, per-family mixing weights, sanitisation knobs
requirements.txt hash-locked, allowlisted deps (numpy, scipy, pandas, torch, scikit-learn, gpytorch, networkx)
tempo_gen/ vendored, import-rewritten TempoPFN subset (Apache-2.0)
NOTICE, LICENSE TempoPFN attribution + Apache-2.0 text
tests/ contract tests + a diversity sanity check

Generator families

Ten families are mixed by weight: ForecastPFN, SineWave, SawTooth, Step, Anomaly, Spikes, OrnsteinUhlenbeck, GP-prior, KernelSynth, CauKer. Each is drawn at generate_length (2048) and deterministically random-cropped into the [min_length, max_length] band for length diversity.

The GP/kernel family — GP-prior (gpytorch), KernelSynth (scikit-learn) and CauKer (networkx + scikit-learn) — was added in v2: those deps are now on cascade's allowlist (chain.toml [dependencies]). The TempoPFN ablation shows this family carries a large share of the downstream signal. CauKer is multivariate (an SCM DAG of GP-prior nodes); each channel is flattened into its own univariate series so the emitted corpus stays 1-D. Its upstream GPU (cupy) draw was replaced with NumPy's seeded multivariate_normal to keep the generate path CPU-only and reproducible.

The pyo-backed audio generators remain excluded: pyo runs a real-time audio server and seeds via hash(), both of which break the cross-process determinism contract below (and pyo is not on the allowlist).

Determinism

The corpus is a pure function of (seed, n_series). We seed NumPy / torch / Python random from seed, run torch on CPU with deterministic algorithms, derive every per-family and per-series sub-seed from the master seed, and use a separate seeded RNG for cropping. The upstream hash()-based per-generator seed offset — salted per process by PYTHONHASHSEED — was replaced with a stable zlib.crc32 in tempo_gen/.../abstract_classes.py, so two audit runs in separate processes produce byte-identical corpora.

Verify / test

# from the cascade repo root, with deps installed and cascade importable
cascade verify ./base_generator                       # full trainer-side checks
PYTHONPATH=$PWD pytest base_generator/tests -q           # contract tests
PYTHONPATH=$PWD python base_generator/tests/diversity_check.py

Config knobs (config.json)

  • min_length / max_length — per-series length band (defaults 64 / 2048, matching chain.toml).
  • generate_length — length generators are drawn at before cropping (>= max_length).
  • batch_size — internal generation batch size (memory/throughput knob).
  • weights — per-family mixing weights (normalised; families with weight 0 or absent are skipped).
  • standardize — z-normalise each series (default false; off preserves scale diversity).
  • clip_sigma — if > 0, clip each series to mean ± clip_sigma·std (default 0, disabled).
  • max_abs_value — hard magnitude clip to keep output trainer-safe finite.

Files

112 items
  • tempo_gen/synthetic_generation/__pycache__/generator_params.cpython-314.pyc

    eccd8ac8dad1

    35.9 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/__pycache__/forecast_pfn_generator.cpython-314.pyc

    04474f41929a

    33.1 KB

  • tempo_gen/synthetic_generation/ornstein_uhlenbeck_process/__pycache__/ou_generator.cpython-314.pyc

    537914f2d77c

    32.4 KB

  • __pycache__/generator.cpython-314.pyc

    b0d9b1f8d6e5

    30.0 KB

  • tempo_gen/synthetic_generation/generator_params.py

    aaee9d1ae930

    27.8 KB

  • generator.py

    35ac2e24ec66

    26.9 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/forecast_pfn_generator.py

    3fb0a6129a2f

    26.0 KB

  • tempo_gen/data/__pycache__/frequency.cpython-314.pyc

    5837b85e9b7f

    22.1 KB

  • tempo_gen/synthetic_generation/ornstein_uhlenbeck_process/ou_generator.py

    594f050016bd

    20.7 KB

  • tempo_gen/data/frequency.py

    a5a77f72ff03

    19.3 KB

  • tempo_gen/synthetic_generation/steps/__pycache__/step_generator.cpython-314.pyc

    f0c5f71658fd

    19.0 KB

  • tempo_gen/synthetic_generation/spikes/__pycache__/spikes_generator.cpython-314.pyc

    8fa880cabdc5

    18.4 KB

  • tempo_gen/synthetic_generation/cauker/__pycache__/cauker_generator.cpython-314.pyc

    8c6c212dd6be

    16.5 KB

  • tempo_gen/synthetic_generation/steps/step_generator.py

    8f7f1610deb8

    15.8 KB

  • tempo_gen/synthetic_generation/anomalies/__pycache__/anomaly_generator.cpython-314.pyc

    75dc1b7e3577

    12.6 KB

  • tempo_gen/synthetic_generation/sine_waves/__pycache__/sine_wave_generator.cpython-314.pyc

    5e5867590951

    12.3 KB

  • ares_families/__pycache__/chaos.cpython-314.pyc

    0884e0b1dc87

    11.8 KB

  • tempo_gen/synthetic_generation/spikes/spikes_generator.py

    abbc63b5d4e0

    11.7 KB

  • ares_families/__pycache__/fastgp.cpython-314.pyc

    e162e77d4d2f

    11.1 KB

  • ares_families/__pycache__/intermittent.cpython-314.pyc

    c08238283fce

    11.0 KB

  • tempo_gen/synthetic_generation/cauker/cauker_generator.py

    47fdc2af2242

    10.8 KB

  • tempo_gen/synthetic_generation/gp_prior/__pycache__/gp_generator.cpython-314.pyc

    f93787960145

    10.6 KB

  • tempo_gen/synthetic_generation/anomalies/anomaly_generator.py

    16a869482961

    10.3 KB

  • tempo_gen/synthetic_generation/sine_waves/sine_wave_generator.py

    b3f19edb3c96

    10.3 KB

  • tempo_gen/synthetic_generation/sawtooth/__pycache__/sawtooth_generator.cpython-314.pyc

    5aacc074a81c

    9.9 KB

  • ares_families/__pycache__/counts.cpython-314.pyc

    90553b5a217d

    9.4 KB

  • ares_families/__pycache__/realistic.cpython-314.pyc

    685da37c260b

    9.4 KB

  • ares_families/__pycache__/fpfn_fast.cpython-314.pyc

    1fc3d9e913b2

    9.4 KB

  • ares_families/intermittent.py

    c28bc9343035

    8.5 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/__pycache__/forecast_pfn_generator_wrapper.cpython-314.pyc

    154aa739eebe

    8.1 KB

  • ares_families/__pycache__/regime.cpython-314.pyc

    04c24156adda

    7.9 KB

  • ares_families/fastgp.py

    81420595c0aa

    7.9 KB

  • tempo_gen/synthetic_generation/sawtooth/sawtooth_generator.py

    31f5a603fc47

    7.9 KB

  • ares_families/__pycache__/garch.cpython-314.pyc

    a11a24af5635

    7.9 KB

  • tempo_gen/synthetic_generation/gp_prior/gp_generator.py

    33b684967285

    7.6 KB

  • tempo_gen/synthetic_generation/gp_prior/__pycache__/utils.cpython-314.pyc

    54e9236a27e5

    7.3 KB

  • ares_families/chaos.py

    4e9182ad5b7f

    7.0 KB

  • tempo_gen/synthetic_generation/kernel_synth/__pycache__/kernel_synth.cpython-314.pyc

    e256f742f579

    7.0 KB

  • ares_families/realistic.py

    d0f41604369d

    6.7 KB

  • ares_families/__pycache__/fgn.cpython-314.pyc

    f0f0be09c49b

    6.7 KB

  • ares_families/counts.py

    cbdbade4e28c

    6.3 KB

  • ares_families/fpfn_fast.py

    dbb602822a48

    6.2 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/forecast_pfn_generator_wrapper.py

    5df7684635df

    6.1 KB

  • tempo_gen/synthetic_generation/__pycache__/abstract_classes.cpython-314.pyc

    3a0a7384a112

    5.7 KB

  • tempo_gen/synthetic_generation/gp_prior/utils.py

    13388efa0bf7

    5.5 KB

  • tempo_gen/synthetic_generation/sine_waves/__pycache__/sine_wave_generator_wrapper.cpython-314.pyc

    1dbfa817ab88

    5.4 KB

  • tempo_gen/data/__pycache__/containers.cpython-314.pyc

    654bbcb41bc0

    5.0 KB

  • tempo_gen/synthetic_generation/sawtooth/__pycache__/sawtooth_generator_wrapper.cpython-314.pyc

    2c61ec5f5672

    4.8 KB

  • tempo_gen/synthetic_generation/kernel_synth/kernel_synth.py

    738f83e9dedf

    4.7 KB

  • tempo_gen/synthetic_generation/sine_waves/sine_wave_generator_wrapper.py

    0735426c89ec

    4.6 KB

  • ares_families/garch.py

    f5461555bb8d

    4.6 KB

  • tempo_gen/synthetic_generation/__pycache__/utils.cpython-314.pyc

    499bdb6e2531

    4.4 KB

  • ares_families/regime.py

    df8a85f09136

    4.3 KB

  • ares_families/fastgp_rff.py

    3c41421aed81

    4.3 KB

  • tempo_gen/synthetic_generation/cauker/__pycache__/cauker_generator_wrapper.cpython-314.pyc

    8d543671b03f

    4.2 KB

  • tempo_gen/synthetic_generation/gp_prior/__pycache__/gp_generator_wrapper.cpython-314.pyc

    8242e2dc632c

    4.1 KB

  • tempo_gen/synthetic_generation/kernel_synth/__pycache__/kernel_generator_wrapper.cpython-314.pyc

    15929ff1629e

    4.1 KB

  • tempo_gen/synthetic_generation/abstract_classes.py

    ed004f2f579e

    4.1 KB

  • ares_families/fgn.py

    cd0f7998d0a3

    3.9 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/__pycache__/utils.cpython-314.pyc

    6b97bfd2d3b5

    3.5 KB

  • tempo_gen/synthetic_generation/sawtooth/sawtooth_generator_wrapper.py

    848825fc80ff

    3.5 KB

  • README.md

    9c8003e4638d

    3.4 KB

  • tempo_gen/synthetic_generation/utils.py

    79dcf560aa62

    3.1 KB

  • tempo_gen/synthetic_generation/anomalies/__pycache__/anomaly_generator_wrapper.cpython-314.pyc

    688fc5b27c30

    2.9 KB

  • tempo_gen/synthetic_generation/spikes/__pycache__/spikes_generator_wrapper.cpython-314.pyc

    f793553ebb48

    2.9 KB

  • tempo_gen/synthetic_generation/steps/__pycache__/step_generator_wrapper.cpython-314.pyc

    31f57652ae1a

    2.9 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/__pycache__/series_config.cpython-314.pyc

    82fe570e8d6f

    2.9 KB

  • tempo_gen/synthetic_generation/kernel_synth/kernel_generator_wrapper.py

    9d69305a1b01

    2.8 KB

  • tempo_gen/synthetic_generation/cauker/cauker_generator_wrapper.py

    59dff29ba91b

    2.7 KB

  • tempo_gen/synthetic_generation/ornstein_uhlenbeck_process/__pycache__/ou_generator_wrapper.cpython-314.pyc

    e2c11d2522b1

    2.6 KB

  • tempo_gen/synthetic_generation/gp_prior/gp_generator_wrapper.py

    59bcec592d59

    2.4 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/utils.py

    fa1f30ba9990

    2.4 KB

  • tempo_gen/data/containers.py

    1ed1ed4a1068

    2.4 KB

  • tempo_gen/synthetic_generation/anomalies/anomaly_generator_wrapper.py

    33dfd20337f4

    2.0 KB

  • tempo_gen/synthetic_generation/spikes/spikes_generator_wrapper.py

    224c61fde715

    2.0 KB

  • tempo_gen/synthetic_generation/steps/step_generator_wrapper.py

    3fcd7e661204

    2.0 KB

  • tempo_gen/synthetic_generation/ornstein_uhlenbeck_process/ou_generator_wrapper.py

    bd77f9e93450

    1.4 KB

  • tempo_gen/data/__pycache__/constants.cpython-314.pyc

    4c0f9f99dbfd

    1.2 KB

  • requirements.txt

    75dea4a01255

    1021 B

  • tempo_gen/synthetic_generation/forecast_pfn_prior/series_config.py

    43f48dcb1dce

    917 B

  • config.json

    cc588805981d

    845 B

  • tempo_gen/synthetic_generation/gp_prior/__pycache__/constants.cpython-314.pyc

    8281b599afaa

    810 B

  • tempo_gen/data/constants.py

    a19942968bc4

    597 B

  • tempo_gen/synthetic_generation/gp_prior/constants.py

    36f23285ef2e

    540 B

  • tempo_gen/synthetic_generation/ornstein_uhlenbeck_process/__pycache__/__init__.cpython-314.pyc

    ca682b24a314

    317 B

  • tempo_gen/synthetic_generation/forecast_pfn_prior/__pycache__/__init__.cpython-314.pyc

    d8e8b5c43f53

    309 B

  • tempo_gen/synthetic_generation/kernel_synth/__pycache__/__init__.cpython-314.pyc

    827b1fec4089

    303 B

  • tempo_gen/synthetic_generation/sine_waves/__pycache__/__init__.cpython-314.pyc

    4601e53163a1

    301 B

  • tempo_gen/synthetic_generation/anomalies/__pycache__/__init__.cpython-314.pyc

    c607359cf71d

    300 B

  • tempo_gen/synthetic_generation/gp_prior/__pycache__/__init__.cpython-314.pyc

    a07be27a241c

    299 B

  • tempo_gen/synthetic_generation/sawtooth/__pycache__/__init__.cpython-314.pyc

    44072ac1d725

    299 B

  • tempo_gen/synthetic_generation/cauker/__pycache__/__init__.cpython-314.pyc

    db29175e09f2

    297 B

  • tempo_gen/synthetic_generation/spikes/__pycache__/__init__.cpython-314.pyc

    ee3e0109ef28

    297 B

  • tempo_gen/synthetic_generation/steps/__pycache__/__init__.cpython-314.pyc

    89655066c8ab

    296 B

  • tempo_gen/synthetic_generation/__pycache__/__init__.cpython-314.pyc

    50dae06cc977

    290 B

  • tempo_gen/data/__pycache__/__init__.cpython-314.pyc

    81b220408fb7

    274 B

  • tempo_gen/__pycache__/__init__.cpython-314.pyc

    ff2b6ac568f2

    269 B

  • ares_families/__pycache__/__init__.cpython-314.pyc

    bdf61cb00617

    200 B

  • tempo_gen/__init__.py

    82f90305d489

    65 B

  • ares_families/__init__.py

    0189382cb6c8

    62 B