Seed each epoch's RNG from (seed, epoch) (gitea #83)
CI / Sync project version with tag (push) Has been skipped
CI / Format (ruff format) (push) Successful in 32s
CI / Lint (ruff check) (push) Successful in 33s
CI / Type check (ty) (push) Successful in 3m54s
CI / Tests (push) Successful in 4m47s
CI / Bump version, tag, and update changelog on merge to master (push) Has been skipped

The per-epoch training fan-out only makes sense if epoch k is the same
epoch either way, and the shuffle fix alone wasn't enough: run_train_job
calls seed_everything(train.seed) at process start, so a fresh job
restarted the torch/numpy stream at epoch 1's state and drew different
flow/WGAN noise than the corresponding epoch of a single long run.

giant.config.epoch_seed derives a per-epoch seed, and the training loop
reseeds from it at the top of every epoch. Verified on a 3-epoch toy run:
the chained workflow's concatenated metrics.csv is now byte-identical to a
single `giant train --epochs 3` with the same seed (it matched only on
epoch 1 before).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-26 12:08:42 +02:00
parent 44edb474b2
commit 5d8567ef1e
105 changed files with 6793 additions and 1 deletions
+1 -1
View File
@@ -103,7 +103,7 @@ Secondary energies are a **stick-breaking partition of the `e_sec` budget** from
**Input is one or more `giant rollout` YAML sidecars** (`run.py:load_rollout_yamls`): each YAML's `output`/`dataset` keys name its rollout parquet and seed file (= the reference truth); every supplied YAML must resolve to the same `dataset`, checked up front with a clear error otherwise (the premise is "N candidates vs one ground truth"). Each rollout's series name comes from a repeated `--label` CLI flag, else the YAML stem (N>1), else `"rollout"` (a single YAML). `prep` creates a **run directory** (`<cwd>/analysis_runs/analysis_<id>/` by default, `--run-dir` to override) holding `shared.json`, `run_meta.json` (`RunMeta.rollouts: list[{name,path,plot_meta}]`, insertion order = CLI order = every plot's series order), `reduced_partial/`, `reduced/`, `plots/`. **Compute/merge/render split:** `giant analyze prep a.yaml [b.yaml ...] --chunks N` records `N` in `run_meta.json`, and the workflow's `AnalysisComputeTask` runs one HTCondor job per (plot, chunk) pair (`compute-one --id --chunk --run-dir`, polars/numpy only — no LaTeX on workers), each streaming over an `event_id`-disjoint slice (`event_id % N == chunk`) of the reference **and every rollout** and writing a small `reduced_partial/<id>__<chunk>.json`; every `PlotSpec` splits into a `compute_partial`/`finalize` pair so chunks can be summed/concatenated back per rollout (`chunkable=False` specs — the checkpoint-bound diagnostics, already bounded/subsampled — always run as a single chunk). The local `giant analyze render <run_dir>` first joins every plot's chunk partials into `reduced/<id>.json` (`merge_all`, a no-op join when `N=1`; `merge-one` does a single plot for debugging), then turns those into the styled PDF/gallery tree. `giant analyze metrics <train_run_dir>` is a separate, unrelated entry point: training-progress plots straight from a run's `metrics.csv`.
**Workflow orchestration** (`giant/workflow/`, `giant workflow run` CLI): b2luigi is the **only sanctioned way to run a multi-step pipeline**; `giant`/`dwarf` are single-step primitives the tasks invoke. One workflow TOML (`configs/workflow_example.toml`) parameterises a whole experiment — `[workflow]`/`[condor]`/`[dataset]`/`[geometry]` plus repeated `[[train]]`/`[[rollout]]`/`[[analysis]]` tables, each cross-referenced by name — and `spec.py` parses it into frozen dataclasses, rejecting unknown keys and dangling references. Every task's output directory is `<result_dir>/<kind>/name=<name>/spec_hash=<hash>/…`, where the 8-hex `spec_hash` covers that task's resolved sub-spec **and its transitive parents**, so an edited spec re-runs exactly the affected subtree instead of silently reusing stale outputs. The DAG (`tasks.py`): `DatasetTask` (external, fails fast if `/ceph` isn't mounted) → `WarmCacheTask` / `GeometryOracleTask``TrainEpochTask(name, milestone)``TrainTask``RolloutTask``AnalysisPrepTask``AnalysisComputeTask(name, plot_id, chunk)``AnalysisRenderTask``WorkflowTask`. Training is fanned out into **one short GPU job per epoch** (`epochs_per_job` trades queue waits back), chained by `--resume` on the previous job's `last.pt` — the loop already handles that unchanged — and `TrainTask` republishes `best.pt`/`last.pt`/a concatenated `metrics.csv` so nothing downstream sees the fan-out. `StreamingStepsDataset.set_epoch` (called per epoch by `training/loop.py`) seeds shuffling from `(seed, epoch, worker_id)` so epoch *k*'s batch order is the same either way. `AnalysisRenderTask` is always local (the only step importing plotstyle/LaTeX); `htcondor.py` holds the CPU/GPU submit settings, with the GPU requirement strings (`TARGET.ProvidesEtpCeph` + device/memory pins) ported from the `condor-gpu-train-rollout` branch. `run.py` is the script b2luigi re-executes on workers (`--spec` forwarded via `task_cmd_additional_args`, so a worker resolves the identical graph); `giant workflow run` is a thin exec of it. Needs `uv sync --extra cpu --extra workflow`.
**Workflow orchestration** (`giant/workflow/`, `giant workflow run` CLI): b2luigi is the **only sanctioned way to run a multi-step pipeline**; `giant`/`dwarf` are single-step primitives the tasks invoke. One workflow TOML (`configs/workflow_example.toml`) parameterises a whole experiment — `[workflow]`/`[condor]`/`[dataset]`/`[geometry]` plus repeated `[[train]]`/`[[rollout]]`/`[[analysis]]` tables, each cross-referenced by name — and `spec.py` parses it into frozen dataclasses, rejecting unknown keys and dangling references. Every task's output directory is `<result_dir>/<kind>/name=<name>/spec_hash=<hash>/…`, where the 8-hex `spec_hash` covers that task's resolved sub-spec **and its transitive parents**, so an edited spec re-runs exactly the affected subtree instead of silently reusing stale outputs. The DAG (`tasks.py`): `DatasetTask` (external, fails fast if `/ceph` isn't mounted) → `WarmCacheTask` / `GeometryOracleTask``TrainEpochTask(name, milestone)``TrainTask``RolloutTask``AnalysisPrepTask``AnalysisComputeTask(name, plot_id, chunk)``AnalysisRenderTask``WorkflowTask`. Training is fanned out into **one short GPU job per epoch** (`epochs_per_job` trades queue waits back), chained by `--resume` on the previous job's `last.pt` — the loop already handles that unchanged — and `TrainTask` republishes `best.pt`/`last.pt`/a concatenated `metrics.csv` so nothing downstream sees the fan-out. `StreamingStepsDataset.set_epoch` and `config.epoch_seed` (both applied per epoch by `training/loop.py`) derive the batch order and the global RNG state from `(seed, epoch)`, so epoch *k* is bit-identical either way — verified by diffing a chained run's `metrics.csv` against a single 3-epoch `giant train`. `AnalysisRenderTask` is always local (the only step importing plotstyle/LaTeX); `htcondor.py` holds the CPU/GPU submit settings, with the GPU requirement strings (`TARGET.ProvidesEtpCeph` + device/memory pins) ported from the `condor-gpu-train-rollout` branch. `run.py` is the script b2luigi re-executes on workers (`--spec` forwarded via `task_cmd_additional_args`, so a worker resolves the identical graph); `giant workflow run` is a thin exec of it. Needs `uv sync --extra cpu --extra workflow`.
**Shower rollout** (`giant/rollout.py`, `giant rollout` CLI): autoregressively steps the two-stage model into a full shower, advancing tracks breadth-first (every sweep steps all active tracks once, in `batch_size` chunks, so many tracks share each forward pass). Each primary post-step becomes the next pre-step, secondaries are pushed as new tracks, and per-step `material`/`layer_id` come from a `GeometryOracle` (`giant/geometry.py`, built via `dwarf build-geometry-oracle`) that learns position → (material, layer_id) from data and flags detector escape by nearest-neighbour distance. Tracks terminate on one of the `TERM_*` reasons in `constants.py` (energy cutoff, max steps, escape, natural end, unknown pdg, max tracks); energy is deposited locally on every stop except escape (leakage), so showers conserve energy by construction. `giant/checkpoint_io.py` is the shared checkpoint → ready-to-run-models path used by both `predict` and `rollout`.
+13
View File
@@ -1769,6 +1769,19 @@ def resolve_default_out_dir(cfg: dict, base: Path = Path("checkpoints")) -> Path
return out_dir
def epoch_seed(seed: int, epoch: int) -> int:
"""Per-epoch derivative of the run seed.
Reseeding the global RNGs from this at the top of every epoch makes epoch
*k* draw the same noise whether it runs inside one long `giant train` or
as its own resumed job in a per-epoch workflow chain
(`giant/workflow/tasks.py:TrainEpochTask`) — without it, a fresh process
would restart the stream at epoch 1's state. Mirrors what
`StreamingStepsDataset.set_epoch` does for the batch order.
"""
return (int(seed) * 1_000_003 + int(epoch)) % (2**32)
def seed_everything(seed: int) -> None:
random.seed(seed)
np.random.seed(seed)
+5
View File
@@ -18,6 +18,7 @@ import torch
from torch.utils.data import DataLoader
from tqdm import tqdm
from giant import config
from giant.data.loader import TopNMap
from giant.data.setup_cache import topnmap_to_json
from giant.training.checkpoint import build_checkpoint, init_stages_from_checkpoints, load_checkpoint
@@ -184,6 +185,10 @@ def train(
if device.type == "cuda":
torch.cuda.reset_peak_memory_stats(device)
collector.start_epoch(epoch)
# Epoch-aware RNG: same noise (and, below, same batch order) for
# epoch k whether the run is one process or a chain of per-epoch
# jobs. See giant.config.epoch_seed.
config.seed_everything(config.epoch_seed(t["seed"], epoch))
# Epoch-aware shuffle stream (see StreamingStepsDataset.set_epoch):
# keeps epoch k's batch order identical whether it runs here or as
# its own resumed per-epoch job in a b2luigi workflow.
+1
View File
@@ -0,0 +1 @@
run-20260826_120646-single/logs/debug-internal.log
+1
View File
@@ -0,0 +1 @@
run-20260826_120646-single/logs/debug.log
+1
View File
@@ -0,0 +1 @@
run-20260826_120646-single
@@ -0,0 +1,354 @@
_wandb:
value:
cli_version: 0.28.1
e:
ai2qpe9rd2fell1s7wnq1p6vbvhszcpx:
args:
- --spec
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml
- --workers
- "1"
- --mode
- run
codePath: giant/workflow/run.py
codePathLocal: giant/workflow/run.py
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227050913792"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/giant/workflow/run.py
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:00:40.409295Z"
writerId: ai2qpe9rd2fell1s7wnq1p6vbvhszcpx
m: []
python_version: 3.12.13
t:
"1":
- 1
- 5
- 53
"2":
- 1
- 5
- 53
"3":
- 2
- 13
- 14
- 16
- 61
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 1
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 1
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 1
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 1
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 2
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: autoregressive
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: onehot
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 25865
stage2: 96480
total: 122345
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: autoregressive
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: onehot
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 1
lr: 0.0003
max_val_batches: 200
num_workers: 4
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 0
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,26 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.0966 1.1637 1.1516 9.5569
edep_logit 0.1038 0.0212 0.9154 0.7979 11.6862
sec_logit -0.0401 0.2425 0.9973 0.8925 19.8511
post_dx -0.1144 -0.2646 0.8849 1.4299 11.8162
post_dy 0.1969 0.1144 0.9479 0.9458 11.6429
post_dz 0.1798 0.3103 1.1660 1.4825 11.6862
travel_dx 0.0000 0.4778 0.0000 0.7748 21.1933
travel_dy 0.0000 0.1821 0.0000 1.2119 21.1933
travel_dz 0.0000 0.4294 0.0000 1.1217 21.1933
n_sec accuracy=0.3750 mean|Δ|=0.9375
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 1.0000
1 0.3125 0.0000
2 0.3125 0.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
sec type class (onehot) n=15/0 KL(real||gen)=nan
epoch 1/1 stage1[loss=1.874] stage2[d=6.450 g=-0.025] val 17.3724 0.2s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,36 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:00:40.409295Z",
"args": [
"--spec",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml",
"--workers",
"1",
"--mode",
"run"
],
"program": "/home/lars/Programming/giant/giant/workflow/run.py",
"codePath": "giant/workflow/run.py",
"codePathLocal": "giant/workflow/run.py",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227050913792"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "ai2qpe9rd2fell1s7wnq1p6vbvhszcpx"
}
@@ -0,0 +1 @@
{"stage1/train/type_acc":0,"stage1/train/loss_gen":1.8736499843740821,"stage2/train/grad_norm_g":0.08295154899246711,"stage1/train/loss_balance":0,"is_best":1,"_timestamp":1.7877384419621115e+09,"stage2/train/g_loss":-0.025276119547679013,"stage2/train/stop_acc":0,"stage2/train/nsec_acc":0.36090225575113655,"stage1/val/loss_stop":0,"val/marginal_kl":15.535483727944827,"stage1/train/loss":1.8736499843740821,"_wandb":{"runtime":0},"gpu_mem_mb":0,"stage1/train/loss_nsec":0,"stage1/val/loss_nsec":0,"stage2/lr":0.00011999999999999999,"stage1/train/stop_acc":0,"stage2/train/wasserstein":-0.005927463727337974,"_runtime":0.30813111,"_step":5,"stage1/train/loss_stop":0,"stage2/train/grad_norm_d":25.49316411986387,"stage1/train/loss_type":0,"stage1/val/loss_gen":1.8369148969650269,"stage2/train/grad_norm_type_slice":0.000876106321811676,"stage2/train/loss_nsec":2.622415101617799,"stage2/train/grad_norm_cont_slice":0.005208832428867656,"stage1/lr":8.999999999999999e-05,"stage1/val/nsec_acc":0,"stage1/val/loss":1.8369148969650269,"stage1/val/stop_acc":0,"val/loss":17.372398624909856,"stage1/train/loss_proc":0,"epoch":1,"stage1/val/type_acc":0,"stage1/train/grad_norm":0.7204611077344507,"stage1/train/loss_entropy":0,"stage2/train/loss_stop":0,"stage2/train/d_loss":6.450412280577466,"grad_norm":26.296576776590786,"stage2/critic_lr":0.0003,"epoch_time_s":0.16791635100526037,"stage2/train/gp_loss":0.6444484663188905,"stage1/val/loss_type":0,"samples_per_sec":792.061042321206,"stage1/train/nsec_acc":0}
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120040.log
@@ -0,0 +1,17 @@
{"time":"2026-08-26T12:00:40.413177686+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:00:40.413419462+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:00:40.924140487+02:00","level":"INFO","msg":"stream: created new stream","id":"epochs=1"}
{"time":"2026-08-26T12:00:40.924221069+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:00:40.924403763+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:00:40.924443708+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:00:40.924438839+02:00","level":"INFO","msg":"writer: started","stream_id":"epochs=1"}
{"time":"2026-08-26T12:00:41.794869647+02:00","level":"INFO","msg":"filestream: sending request","total_files":1,"console_offset":0,"console_lines":1}
{"time":"2026-08-26T12:00:42.021317486+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:00:43.035506045+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:00:43.035881572+02:00","level":"INFO","msg":"filestream: sending request","total_files":3,"history_offset":0,"history_lines":1,"console_offset":0,"console_lines":26,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:00:43.280782505+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:00:43.282337554+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:00:43.289405265+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:00:43.289425794+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:00:43.289526804+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:00:43.289536753+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,354 @@
_wandb:
value:
cli_version: 0.28.1
e:
b10ukcwzz1xtizc52b6jjv6r4l7o6msz:
args:
- --spec
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml
- --workers
- "1"
- --mode
- run
codePath: giant/workflow/run.py
codePathLocal: giant/workflow/run.py
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227050913792"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/giant/workflow/run.py
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:00:43.494441Z"
writerId: b10ukcwzz1xtizc52b6jjv6r4l7o6msz
m: []
python_version: 3.12.13
t:
"1":
- 1
- 5
- 53
"2":
- 1
- 5
- 53
"3":
- 2
- 13
- 14
- 16
- 61
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 1
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 1
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 1
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 1
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 2
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: autoregressive
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: onehot
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 25865
stage2: 96480
total: 122345
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: autoregressive
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: onehot
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 2
lr: 0.0003
max_val_batches: 200
num_workers: 4
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 0
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,26 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.0966 1.1637 1.1516 9.5569
edep_logit 0.1038 0.0212 0.9154 0.7979 11.6862
sec_logit -0.0401 0.2425 0.9973 0.8925 19.8511
post_dx -0.1144 -0.2645 0.8849 1.4299 11.8162
post_dy 0.1969 0.1144 0.9479 0.9458 11.6429
post_dz 0.1798 0.3103 1.1660 1.4825 11.6862
travel_dx 0.0000 0.4778 0.0000 0.7748 21.1933
travel_dy 0.0000 0.1821 0.0000 1.2119 21.1933
travel_dz 0.0000 0.4294 0.0000 1.1217 21.1933
n_sec accuracy=0.3750 mean|Δ|=0.9375
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 1.0000
1 0.3125 0.0000
2 0.3125 0.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
sec type class (onehot) n=15/0 KL(real||gen)=nan
epoch 2/2 stage1[loss=1.873] stage2[d=5.457 g=-0.027] val 17.3688 0.1s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,36 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:00:43.494441Z",
"args": [
"--spec",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml",
"--workers",
"1",
"--mode",
"run"
],
"program": "/home/lars/Programming/giant/giant/workflow/run.py",
"codePath": "giant/workflow/run.py",
"codePathLocal": "giant/workflow/run.py",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227050913792"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "b10ukcwzz1xtizc52b6jjv6r4l7o6msz"
}
@@ -0,0 +1 @@
{"stage2/train/grad_norm_type_slice":0.009069958127530893,"stage1/val/loss_stop":0,"stage1/val/stop_acc":0,"is_best":1,"stage2/train/gp_loss":0.5444372881175881,"stage1/train/type_acc":0,"epoch_time_s":0.13597809900238644,"stage2/train/stop_acc":0,"_wandb":{"runtime":0},"stage1/train/loss_proc":0,"_runtime":0.243841648,"_timestamp":1.7877384448696852e+09,"stage1/lr":0.000165,"stage1/train/stop_acc":0,"stage2/train/nsec_acc":0.36090225586317537,"val/marginal_kl":15.535483727944827,"stage1/train/grad_norm":0.7332364240087065,"grad_norm":28.807173418623385,"stage1/train/loss_type":0,"stage1/val/loss":1.8332903385162354,"stage1/val/type_acc":0,"stage2/lr":0.00017999999999999998,"stage2/train/grad_norm_g":0.11719643601909616,"stage2/train/grad_norm_d":27.956740558595584,"stage2/train/g_loss":-0.027094751372373195,"stage2/train/grad_norm_cont_slice":0.007121505593895016,"stage1/val/loss_type":0,"epoch":2,"stage1/train/nsec_acc":0,"stage1/val/loss_gen":1.8332903385162354,"_step":10,"val/loss":17.368774066461064,"stage1/train/loss_balance":0,"stage2/critic_lr":0.0003,"samples_per_sec":978.0986863014302,"stage2/train/loss_stop":0,"stage1/train/loss_entropy":0,"stage2/train/d_loss":5.457050940147917,"stage1/train/loss_nsec":0,"stage2/train/wasserstein":-0.012677972254000212,"stage1/val/loss_nsec":0,"stage1/train/loss_gen":1.8725225647589319,"stage1/val/nsec_acc":0,"stage1/train/loss_stop":0,"stage2/train/loss_nsec":2.6134453088717353,"gpu_mem_mb":0,"stage1/train/loss":1.8725225647589319}
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120040.log
@@ -0,0 +1,17 @@
{"time":"2026-08-26T12:00:43.498428707+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:00:43.498545668+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:00:43.906411597+02:00","level":"INFO","msg":"stream: created new stream","id":"epochs=2"}
{"time":"2026-08-26T12:00:43.906528106+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:00:43.906791572+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:00:43.906804807+02:00","level":"INFO","msg":"writer: started","stream_id":"epochs=2"}
{"time":"2026-08-26T12:00:43.906840384+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:00:44.733622595+02:00","level":"INFO","msg":"filestream: sending request","total_files":1,"console_offset":0,"console_lines":1}
{"time":"2026-08-26T12:00:44.953360737+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:00:45.739335081+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:00:45.739618625+02:00","level":"INFO","msg":"filestream: sending request","total_files":3,"history_offset":0,"history_lines":1,"console_offset":0,"console_lines":26,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:00:45.968068153+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:00:45.969013484+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:00:45.971267309+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:00:45.971280083+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:00:45.971377536+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:00:45.97138502+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,354 @@
_wandb:
value:
cli_version: 0.28.1
e:
ray91k854mr5355b4txkncd1gpi2fdza:
args:
- --spec
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml
- --workers
- "1"
- --mode
- run
codePath: giant/workflow/run.py
codePathLocal: giant/workflow/run.py
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227050913792"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/giant/workflow/run.py
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:00:46.173920Z"
writerId: ray91k854mr5355b4txkncd1gpi2fdza
m: []
python_version: 3.12.13
t:
"1":
- 1
- 5
- 53
"2":
- 1
- 5
- 53
"3":
- 2
- 13
- 14
- 16
- 61
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 1
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 1
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 1
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 1
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 2
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: autoregressive
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: onehot
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 25865
stage2: 96480
total: 122345
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: autoregressive
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: onehot
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 3
lr: 0.0003
max_val_batches: 200
num_workers: 4
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 0
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,26 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.0966 1.1637 1.1516 9.5569
edep_logit 0.1038 0.0213 0.9154 0.7979 11.6862
sec_logit -0.0401 0.2425 0.9973 0.8925 19.8511
post_dx -0.1144 -0.2645 0.8849 1.4299 11.8162
post_dy 0.1969 0.1144 0.9479 0.9458 11.6429
post_dz 0.1798 0.3103 1.1660 1.4825 11.6862
travel_dx 0.0000 0.4778 0.0000 0.7748 21.1933
travel_dy 0.0000 0.1821 0.0000 1.2119 21.1933
travel_dz 0.0000 0.4294 0.0000 1.1217 21.1933
n_sec accuracy=0.3750 mean|Δ|=0.9375
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 1.0000
1 0.3125 0.0000
2 0.3125 0.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
sec type class (onehot) n=15/0 KL(real||gen)=nan
epoch 3/3 stage1[loss=1.894] stage2[d=4.573 g=-0.024] val 17.3635 0.1s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,36 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:00:46.173920Z",
"args": [
"--spec",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml",
"--workers",
"1",
"--mode",
"run"
],
"program": "/home/lars/Programming/giant/giant/workflow/run.py",
"codePath": "giant/workflow/run.py",
"codePathLocal": "giant/workflow/run.py",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227050913792"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "ray91k854mr5355b4txkncd1gpi2fdza"
}
@@ -0,0 +1 @@
{"stage1/train/loss":1.894191010554034,"stage2/train/stop_acc":0,"stage2/train/wasserstein":-0.009595314867066261,"stage2/train/grad_norm_type_slice":0.008421143194786589,"stage1/val/loss_type":0,"stage1/train/loss_stop":0,"stage1/val/loss":1.8279871940612793,"stage1/val/loss_stop":0,"stage1/train/loss_gen":1.894191010554034,"val/loss":17.36347092200611,"stage1/train/loss_nsec":0,"stage1/train/stop_acc":0,"stage1/val/loss_nsec":0,"stage1/train/loss_entropy":0,"stage2/train/grad_norm_cont_slice":0.008100892368115876,"stage1/val/type_acc":0,"stage1/train/nsec_acc":0,"_wandb":{"runtime":0},"stage1/train/loss_balance":0,"stage1/val/loss_gen":1.8279871940612793,"stage2/train/d_loss":4.57250355957146,"epoch":3,"stage2/lr":0.00023999999999999998,"stage1/val/nsec_acc":0,"stage2/train/grad_norm_g":0.12045995395322491,"is_best":1,"stage1/train/type_acc":0,"stage2/train/g_loss":-0.02378324099949428,"stage2/train/gp_loss":0.45629081242066577,"stage2/train/grad_norm_d":30.059515745119942,"gpu_mem_mb":0,"epoch_time_s":0.11638752299768385,"stage1/val/stop_acc":0,"_timestamp":1.7877384480070157e+09,"stage1/lr":0.00023999999999999998,"samples_per_sec":1142.7341743723402,"grad_norm":30.918668481052144,"stage1/train/grad_norm":0.73869278197898,"_step":15,"_runtime":0.220728768,"stage1/train/loss_proc":0,"stage2/critic_lr":0.0003,"val/marginal_kl":15.535483727944827,"stage2/train/nsec_acc":0.36090225575113655,"stage2/train/loss_nsec":2.6002479226965654,"stage2/train/loss_stop":0,"stage1/train/loss_type":0}
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120040.log
@@ -0,0 +1,17 @@
{"time":"2026-08-26T12:00:46.1781983+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:00:46.17838948+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:00:46.58607555+02:00","level":"INFO","msg":"stream: created new stream","id":"epochs=3"}
{"time":"2026-08-26T12:00:46.58612858+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:00:46.586274174+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:00:46.586285005+02:00","level":"INFO","msg":"writer: started","stream_id":"epochs=3"}
{"time":"2026-08-26T12:00:46.586309421+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:00:47.890384348+02:00","level":"INFO","msg":"filestream: sending request","total_files":1,"console_offset":0,"console_lines":1}
{"time":"2026-08-26T12:00:48.142274936+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:00:48.827806076+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:00:48.828103877+02:00","level":"INFO","msg":"filestream: sending request","total_files":3,"history_offset":0,"history_lines":1,"console_offset":0,"console_lines":26,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:00:49.137961108+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:00:49.138936255+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:00:49.141553975+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:00:49.141568472+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:00:49.141643734+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:00:49.141649535+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,356 @@
_wandb:
value:
cli_version: 0.28.1
e:
mw7fe5rv4b6ufyzsccpy4twsb91nq3qm:
args:
- --spec
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml
- --workers
- "1"
- --mode
- run
codePath: giant/workflow/run.py
codePathLocal: giant/workflow/run.py
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227061452800"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/giant/workflow/run.py
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:02:13.435698Z"
writerId: mw7fe5rv4b6ufyzsccpy4twsb91nq3qm
m: []
python_version: 3.12.13
t:
"1":
- 1
- 5
- 53
"2":
- 1
- 5
- 53
"3":
- 2
- 5
- 13
- 14
- 16
- 61
- 62
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 5
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 26409
stage2: 54162
total: 80571
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 1
lr: 0.0003
max_val_batches: 200
num_workers: 4
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 0
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,43 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.1076 1.1637 1.0986 14.1188
edep_logit 0.1038 0.2827 0.9154 0.7847 16.2047
sec_logit -0.0401 0.0723 0.9973 0.9535 19.8511
post_dx -0.1144 0.1943 0.8849 1.3492 15.1401
post_dy 0.1969 0.1017 0.9479 0.9934 13.7722
post_dz 0.1798 -0.2223 1.1660 0.6994 12.7509
travel_dx 0.0000 0.2915 0.0000 1.0738 2.7726
travel_dy 0.0000 0.2844 0.0000 1.2037 21.1933
travel_dz 0.0000 -0.0128 0.0000 1.1544 21.1933
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4252 0.3354 0.0736 14.0593
1 1.0000 0.5047 0.0000 0.0767 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1133 0.9292 0.3696 5.0602
charge -0.1977 -0.0202 0.9295 0.3459 14.5943
epoch 1/1 stage1[loss=1.737] stage2[d=7.847 g=-0.052] val 17.1161 0.1s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,36 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:02:13.435698Z",
"args": [
"--spec",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml",
"--workers",
"1",
"--mode",
"run"
],
"program": "/home/lars/Programming/giant/giant/workflow/run.py",
"codePath": "giant/workflow/run.py",
"codePathLocal": "giant/workflow/run.py",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227061452800"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "mw7fe5rv4b6ufyzsccpy4twsb91nq3qm"
}
@@ -0,0 +1 @@
{"stage1/val/type_acc":0,"stage1/train/stop_acc":0,"val/marginal_kl":15.535483727944827,"samples_per_sec":792.061042321206,"_runtime":0,"epoch":1,"stage1/train/loss_entropy":0,"stage1/val/nsec_acc":0,"stage2/train/g_loss":-0.025276119547679013,"stage1/train/loss_stop":0,"stage2/train/loss_stop":0,"stage1/val/loss_nsec":0,"stage1/val/loss":1.8369148969650269,"stage1/train/loss":1.873649984374082,"stage2/train/grad_norm_cont_slice":0.005208832428867656,"stage2/train/loss_nsec":2.622415101617799,"stage1/train/type_acc":0,"stage1/train/loss_nsec":0,"stage1/train/loss_proc":0,"stage1/train/loss_balance":0,"stage1/train/nsec_acc":0,"stage1/val/loss_gen":1.8369148969650269,"_step":5,"stage1/val/loss_stop":0,"stage1/lr":8.999999999999999e-05,"_timestamp":1.7877384419621117e+09,"stage1/train/loss_type":0,"stage2/train/grad_norm_d":25.49316411986387,"gpu_mem_mb":0,"stage1/train/loss_gen":1.873649984374082,"is_best":1,"stage2/train/nsec_acc":0.36090225575113655,"stage1/val/stop_acc":0,"stage1/val/loss_type":0,"stage2/train/wasserstein":-0.005927463727337974,"stage2/train/gp_loss":0.6444484663188905,"_wandb.runtime":0,"grad_norm":26.296576776590783,"stage2/train/stop_acc":0,"stage2/lr":0.00012,"_wandb":{"runtime":0},"stage2/critic_lr":0.0003,"stage1/train/grad_norm":0.7204611077344507,"stage2/train/grad_norm_type_slice":0.000876106321811676,"stage2/train/d_loss":6.450412280577466,"epoch_time_s":0.16791635100526037,"val/loss":17.372398624909856,"stage2/train/grad_norm_g":0.08295154899246711}
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120213.log
@@ -0,0 +1,18 @@
{"time":"2026-08-26T12:02:13.439905969+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:02:13.440290063+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:02:13.84708805+02:00","level":"INFO","msg":"stream: created new stream","id":"epochs=1"}
{"time":"2026-08-26T12:02:13.847201544+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:02:13.847415637+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:02:13.847521427+02:00","level":"INFO","msg":"writer: started","stream_id":"epochs=1"}
{"time":"2026-08-26T12:02:13.847532087+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:02:14.547950596+02:00","level":"INFO","msg":"filestream: sending request","total_files":1}
{"time":"2026-08-26T12:02:14.768200311+02:00","level":"WARN","msg":"handler: ignoring partial history record","step":5,"current":6}
{"time":"2026-08-26T12:02:14.784995804+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:02:15.739774271+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:02:15.740172581+02:00","level":"INFO","msg":"filestream: sending request","total_files":2,"console_offset":0,"console_lines":43,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:02:15.949439992+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:02:15.951150704+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:02:15.954379024+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:02:15.954394203+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:02:15.954485635+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:02:15.954502827+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,356 @@
_wandb:
value:
cli_version: 0.28.1
e:
r7nzdnv9ftyjibc68zdoe374fg8xj7v5:
args:
- --spec
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml
- --workers
- "1"
- --mode
- run
codePath: giant/workflow/run.py
codePathLocal: giant/workflow/run.py
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227061452800"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/giant/workflow/run.py
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:02:16.178769Z"
writerId: r7nzdnv9ftyjibc68zdoe374fg8xj7v5
m: []
python_version: 3.12.13
t:
"1":
- 1
- 5
- 53
"2":
- 1
- 5
- 53
"3":
- 2
- 5
- 13
- 14
- 16
- 61
- 62
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 5
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 26409
stage2: 54162
total: 80571
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 2
lr: 0.0003
max_val_batches: 200
num_workers: 4
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 0
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,43 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.1076 1.1637 1.0986 14.1188
edep_logit 0.1038 0.2827 0.9154 0.7847 16.2047
sec_logit -0.0401 0.0723 0.9973 0.9535 19.8511
post_dx -0.1144 0.1943 0.8849 1.3492 15.1401
post_dy 0.1969 0.1017 0.9479 0.9934 13.7722
post_dz 0.1798 -0.2223 1.1660 0.6994 12.7509
travel_dx 0.0000 0.2915 0.0000 1.0738 2.7726
travel_dy 0.0000 0.2844 0.0000 1.2037 21.1933
travel_dz 0.0000 -0.0128 0.0000 1.1544 21.1933
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4252 0.3354 0.0736 14.0593
1 1.0000 0.5047 0.0000 0.0767 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1133 0.9292 0.3696 5.0602
charge -0.1977 -0.0202 0.9295 0.3459 14.5943
epoch 2/2 stage1[loss=1.755] stage2[d=7.672 g=-0.038] val 17.1139 0.1s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,36 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:02:16.178769Z",
"args": [
"--spec",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml",
"--workers",
"1",
"--mode",
"run"
],
"program": "/home/lars/Programming/giant/giant/workflow/run.py",
"codePath": "giant/workflow/run.py",
"codePathLocal": "giant/workflow/run.py",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227061452800"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "r7nzdnv9ftyjibc68zdoe374fg8xj7v5"
}
@@ -0,0 +1 @@
{"_runtime":0,"stage1/train/loss_proc":0,"samples_per_sec":978.0986863014302,"stage2/train/grad_norm_g":0.11719643601909616,"stage2/train/wasserstein":-0.012677972254000212,"stage2/train/stop_acc":0,"stage1/lr":0.000165,"is_best":1,"stage1/train/loss_entropy":0,"stage2/train/loss_nsec":2.6134453088717353,"stage2/train/nsec_acc":0.36090225586317537,"stage2/critic_lr":0.0003,"stage2/train/grad_norm_d":27.956740558595584,"stage1/train/loss_nsec":0,"stage1/val/type_acc":0,"stage2/train/grad_norm_type_slice":0.009069958127530892,"val/marginal_kl":15.535483727944827,"stage1/val/stop_acc":0,"stage1/train/nsec_acc":0,"val/loss":17.368774066461064,"stage2/lr":0.00017999999999999998,"stage1/train/loss_type":0,"stage1/train/loss":1.872522564758932,"stage1/train/stop_acc":0,"grad_norm":28.807173418623385,"stage1/train/type_acc":0,"stage1/train/loss_gen":1.872522564758932,"_step":10,"epoch":2,"stage2/train/grad_norm_cont_slice":0.007121505593895016,"stage1/val/loss_nsec":0,"stage1/train/loss_balance":0,"gpu_mem_mb":0,"stage2/train/gp_loss":0.5444372881175881,"stage2/train/g_loss":-0.027094751372373195,"_wandb":{"runtime":0},"stage1/val/loss":1.8332903385162351,"_wandb.runtime":0,"stage1/val/loss_gen":1.8332903385162351,"stage1/val/nsec_acc":0,"epoch_time_s":0.13597809900238644,"stage1/train/loss_stop":0,"stage2/train/loss_stop":0,"stage1/val/loss_stop":0,"_timestamp":1.7877384448696852e+09,"stage1/train/grad_norm":0.7332364240087065,"stage1/val/loss_type":0,"stage2/train/d_loss":5.457050940147917}
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120213.log
@@ -0,0 +1,18 @@
{"time":"2026-08-26T12:02:16.182304707+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:02:16.18243376+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:02:16.589676205+02:00","level":"INFO","msg":"stream: created new stream","id":"epochs=2"}
{"time":"2026-08-26T12:02:16.589805468+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:02:16.590014321+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:02:16.590088491+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:02:16.590091056+02:00","level":"INFO","msg":"writer: started","stream_id":"epochs=2"}
{"time":"2026-08-26T12:02:17.453289883+02:00","level":"INFO","msg":"filestream: sending request","total_files":1}
{"time":"2026-08-26T12:02:17.658164682+02:00","level":"WARN","msg":"handler: ignoring partial history record","step":10,"current":11}
{"time":"2026-08-26T12:02:17.720133864+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:02:18.943650388+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:02:18.943968688+02:00","level":"INFO","msg":"filestream: sending request","total_files":2,"console_offset":0,"console_lines":43,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:02:19.215598732+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:02:19.2166543+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:02:19.219498297+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:02:19.219513505+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:02:19.219588486+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:02:19.219596281+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,356 @@
_wandb:
value:
cli_version: 0.28.1
e:
ech3gckfz8ow6v0prp6u6to7jdragvbh:
args:
- --spec
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml
- --workers
- "1"
- --mode
- run
codePath: giant/workflow/run.py
codePathLocal: giant/workflow/run.py
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227061452800"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/giant/workflow/run.py
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:02:19.503221Z"
writerId: ech3gckfz8ow6v0prp6u6to7jdragvbh
m: []
python_version: 3.12.13
t:
"1":
- 1
- 5
- 53
"2":
- 1
- 5
- 53
"3":
- 2
- 5
- 13
- 14
- 16
- 61
- 62
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 5
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 26409
stage2: 54162
total: 80571
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 3
lr: 0.0003
max_val_batches: 200
num_workers: 4
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 0
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,43 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.1076 1.1637 1.0986 14.1188
edep_logit 0.1038 0.2827 0.9154 0.7847 16.2047
sec_logit -0.0401 0.0723 0.9973 0.9535 19.8511
post_dx -0.1144 0.1943 0.8849 1.3492 15.1401
post_dy 0.1969 0.1017 0.9479 0.9934 13.7722
post_dz 0.1798 -0.2223 1.1660 0.6994 12.7509
travel_dx 0.0000 0.2914 0.0000 1.0738 2.7726
travel_dy 0.0000 0.2844 0.0000 1.2037 21.1933
travel_dz 0.0000 -0.0128 0.0000 1.1544 21.1933
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4252 0.3354 0.0736 14.0593
1 1.0000 0.5047 0.0000 0.0767 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1133 0.9292 0.3696 5.0602
charge -0.1977 -0.0202 0.9295 0.3459 14.5943
epoch 3/3 stage1[loss=1.712] stage2[d=7.207 g=-0.049] val 17.1098 0.1s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,36 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:02:19.503221Z",
"args": [
"--spec",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml",
"--workers",
"1",
"--mode",
"run"
],
"program": "/home/lars/Programming/giant/giant/workflow/run.py",
"codePath": "giant/workflow/run.py",
"codePathLocal": "giant/workflow/run.py",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227061452800"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "ech3gckfz8ow6v0prp6u6to7jdragvbh"
}
@@ -0,0 +1 @@
{"_timestamp":1.7877384480070157e+09,"stage2/train/grad_norm_d":30.059515745119946,"_runtime":0,"stage1/train/loss_gen":1.894191010554034,"stage1/lr":0.00024,"stage1/train/nsec_acc":0,"_wandb":{"runtime":0},"stage2/train/stop_acc":0,"stage1/val/loss_type":0,"_step":15,"stage1/train/stop_acc":0,"stage2/train/nsec_acc":0.36090225575113655,"stage1/val/type_acc":0,"is_best":1,"stage1/train/loss_type":0,"grad_norm":30.918668481052144,"stage1/train/loss_balance":0,"stage1/val/stop_acc":0,"epoch":3,"stage2/train/grad_norm_g":0.12045995395322492,"stage1/train/loss":1.894191010554034,"stage2/train/loss_stop":0,"stage2/train/grad_norm_cont_slice":0.008100892368115876,"stage2/train/gp_loss":0.45629081242066577,"stage1/train/type_acc":0,"stage1/train/loss_nsec":0,"stage1/val/loss":1.8279871940612793,"stage1/train/loss_entropy":0,"stage1/train/grad_norm":0.73869278197898,"stage1/val/loss_nsec":0,"stage2/train/d_loss":4.57250355957146,"_wandb.runtime":0,"stage1/val/loss_stop":0,"gpu_mem_mb":0,"val/loss":17.36347092200611,"stage1/val/nsec_acc":0,"stage2/lr":0.00024,"stage1/train/loss_proc":0,"stage2/train/wasserstein":-0.00959531486706626,"stage2/critic_lr":0.0003,"stage1/val/loss_gen":1.8279871940612793,"epoch_time_s":0.11638752299768385,"stage2/train/loss_nsec":2.600247922696566,"stage2/train/grad_norm_type_slice":0.008421143194786589,"stage1/train/loss_stop":0,"samples_per_sec":1142.7341743723402,"stage2/train/g_loss":-0.02378324099949428,"val/marginal_kl":15.535483727944827}
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120213.log
@@ -0,0 +1,18 @@
{"time":"2026-08-26T12:02:19.506141587+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:02:19.506231857+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:02:20.013664248+02:00","level":"INFO","msg":"stream: created new stream","id":"epochs=3"}
{"time":"2026-08-26T12:02:20.013708652+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:02:20.013818579+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:02:20.013839648+02:00","level":"INFO","msg":"writer: started","stream_id":"epochs=3"}
{"time":"2026-08-26T12:02:20.01386172+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:02:20.6177312+02:00","level":"INFO","msg":"filestream: sending request","total_files":1}
{"time":"2026-08-26T12:02:20.817459756+02:00","level":"WARN","msg":"handler: ignoring partial history record","step":15,"current":16}
{"time":"2026-08-26T12:02:20.851555972+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:02:22.207880095+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:02:22.208156926+02:00","level":"INFO","msg":"filestream: sending request","total_files":2,"console_offset":0,"console_lines":43,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:02:22.435067817+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:02:22.436318753+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:02:22.438832227+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:02:22.438846414+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:02:22.438921826+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:02:22.438928639+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,366 @@
_wandb:
value:
cli_version: 0.28.1
e:
ted3b2zyeqjn8103v9859f869djfa894:
args:
- train
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/data/train.parquet
- --config
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/tiny.toml
- --epochs
- "3"
- --hidden-dim
- "16"
- --n-blocks
- "1"
- --batch-size
- "32"
- --stage2-hidden-dim
- "16"
- --stage2-n-res-blocks
- "1"
- --num-workers
- "0"
- --device
- cpu
- --out
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/single
codePath: .venv/bin/giant
codePathLocal: .venv/bin/giant
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227076513792"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/.venv/bin/giant
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:04:35.293861Z"
writerId: ted3b2zyeqjn8103v9859f869djfa894
m: []
python_version: 3.12.13
t:
"1":
- 1
"2":
- 1
"3":
- 2
- 13
- 14
- 16
- 61
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 5
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 26409
stage2: 54162
total: 80571
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 3
lr: 0.0003
max_val_batches: 200
num_workers: 0
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 10
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,127 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.1076 1.1637 1.0986 14.1188
edep_logit 0.1038 0.2827 0.9154 0.7847 16.2047
sec_logit -0.0401 0.0723 0.9973 0.9535 19.8511
post_dx -0.1144 0.1943 0.8849 1.3492 15.1401
post_dy 0.1969 0.1017 0.9479 0.9934 13.7722
post_dz 0.1798 -0.2223 1.1660 0.6994 12.7509
travel_dx 0.0000 0.2915 0.0000 1.0738 2.7726
travel_dy 0.0000 0.2844 0.0000 1.2037 21.1933
travel_dz 0.0000 -0.0128 0.0000 1.1544 21.1933
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4252 0.3354 0.0736 14.0593
1 1.0000 0.5047 0.0000 0.0767 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1133 0.9292 0.3696 5.0602
charge -0.1977 -0.0202 0.9295 0.3459 14.5943
epoch 1/3 stage1[loss=1.737] stage2[d=7.847 g=-0.052] val 17.1161 0.3s [best]
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.1138 1.1637 0.6507 10.6109
edep_logit 0.1038 -0.3291 0.9154 0.8459 13.7722
sec_logit -0.0401 -0.4340 0.9973 1.3417 17.4832
post_dx -0.1144 0.4730 0.8849 1.4054 15.2701
post_dy 0.1969 -0.1226 0.9479 0.9225 12.7942
post_dz 0.1798 0.1625 1.1660 0.9823 15.1401
travel_dx 0.0000 0.1272 0.0000 0.7632 21.1933
travel_dy 0.0000 -0.3706 0.0000 1.1384 21.1933
travel_dz 0.0000 -0.0554 0.0000 1.0224 21.1933
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4543 0.3354 0.0673 17.7840
1 1.0000 0.5093 0.0000 0.0997 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1522 0.9292 0.3862 5.3486
charge -0.1977 -0.0755 0.9295 0.3599 6.1602
epoch 2/3 stage1[loss=1.794] stage2[d=7.604 g=-0.043] val 18.5704 0.1s
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.0857 1.1637 1.2332 8.4383
edep_logit 0.1038 -0.1044 0.9154 1.5167 12.8375
sec_logit -0.0401 -0.2881 0.9973 1.0793 16.2495
post_dx -0.1144 0.5103 0.8849 1.3179 14.1621
post_dy 0.1969 -0.1507 0.9479 0.8615 8.1457
post_dz 0.1798 0.2059 1.1660 0.7526 15.1401
travel_dx 0.0000 0.1885 0.0000 1.0262 2.7726
travel_dy 0.0000 -0.7054 0.0000 0.9050 21.1933
travel_dz 0.0000 -0.1828 0.0000 1.4572 2.7726
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4512 0.3354 0.0833 15.8726
1 1.0000 0.5004 0.0000 0.0781 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1062 0.9292 0.3565 5.3916
charge -0.1977 -0.0419 0.9295 0.3743 14.8294
epoch 3/3 stage1[loss=1.783] stage2[d=7.213 g=-0.049] val 13.3544 0.1s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,52 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:04:35.293861Z",
"args": [
"train",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/data/train.parquet",
"--config",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/tiny.toml",
"--epochs",
"3",
"--hidden-dim",
"16",
"--n-blocks",
"1",
"--batch-size",
"32",
"--stage2-hidden-dim",
"16",
"--stage2-n-res-blocks",
"1",
"--num-workers",
"0",
"--device",
"cpu",
"--out",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/single"
],
"program": "/home/lars/Programming/giant/.venv/bin/giant",
"codePath": ".venv/bin/giant",
"codePathLocal": ".venv/bin/giant",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227076513792"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "ted3b2zyeqjn8103v9859f869djfa894"
}
@@ -0,0 +1 @@
{"stage1/val/loss_gen":2.0530993938446045,"_wandb":{"runtime":0},"stage1/val/loss_nsec":0,"is_best":1,"stage1/val/loss_type":0,"stage1/val/loss":2.0530993938446045,"stage2/lr":0.00023999999999999998,"samples_per_sec":1197.4269796796264,"stage1/val/stop_acc":0,"stage1/val/loss_stop":0,"epoch":3,"stage1/train/loss_gen":1.7828800059798966,"_timestamp":1.7877386773129892e+09,"stage2/train/loss_stop":0,"stage2/train/grad_norm_d":13.77030973506153,"stage2/train/gp_loss":0.7146442339832622,"stage1/train/loss_proc":0,"stage1/train/type_acc":0,"stage1/train/loss_balance":0,"grad_norm":14.5173784066972,"stage2/train/loss_nsec":2.961937870298113,"gpu_mem_mb":0,"stage1/train/loss_type":0,"stage1/train/loss":1.7828800059798966,"stage1/train/stop_acc":0,"stage2/critic_lr":0.0003,"stage2/train/stop_acc":0,"val/marginal_kl":11.30129785568997,"stage1/train/grad_norm":0.6233828596602705,"stage2/train/grad_norm_g":0.12368581197539666,"stage1/val/nsec_acc":0,"stage1/train/loss_entropy":0,"stage1/lr":0.00023999999999999998,"stage2/train/nsec_acc":0,"stage1/train/loss_nsec":0,"stage2/train/wasserstein":-0.06684112884944543,"stage1/train/nsec_acc":0,"epoch_time_s":0.11107149100280367,"_runtime":0.72810333,"stage2/train/g_loss":-0.04876285567319483,"_step":15,"stage2/train/d_loss":7.2132834850397325,"stage1/val/type_acc":0,"val/loss":13.354397249534575,"stage1/train/loss_stop":0}
+1
View File
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120434.log
@@ -0,0 +1,17 @@
{"time":"2026-08-26T12:04:35.297103373+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:04:35.297423797+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:04:35.804877068+02:00","level":"INFO","msg":"stream: created new stream","id":"single"}
{"time":"2026-08-26T12:04:35.804964392+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:04:35.805163177+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:04:35.805195267+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:04:35.805197551+02:00","level":"INFO","msg":"writer: started","stream_id":"single"}
{"time":"2026-08-26T12:04:36.6994424+02:00","level":"INFO","msg":"filestream: sending request","total_files":1,"console_offset":0,"console_lines":1}
{"time":"2026-08-26T12:04:36.918818681+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:04:38.051163674+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:04:38.051794011+02:00","level":"INFO","msg":"filestream: sending request","total_files":3,"history_offset":0,"history_lines":3,"console_offset":0,"console_lines":127,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:04:38.289924373+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:04:38.291251863+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:04:38.29395275+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:04:38.293965835+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:04:38.294018434+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:04:38.294024645+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -0,0 +1,356 @@
_wandb:
value:
cli_version: 0.28.1
e:
or4v6kb1ovc7c03s73xv05tt65ws327p:
args:
- --spec
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml
- --workers
- "1"
- --mode
- run
codePath: giant/workflow/run.py
codePathLocal: giant/workflow/run.py
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227085520896"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/giant/workflow/run.py
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:05:47.410749Z"
writerId: or4v6kb1ovc7c03s73xv05tt65ws327p
m: []
python_version: 3.12.13
t:
"1":
- 1
- 5
- 53
"2":
- 1
- 5
- 53
"3":
- 2
- 5
- 13
- 14
- 16
- 61
- 62
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 5
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 26409
stage2: 54162
total: 80571
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 1
lr: 0.0003
max_val_batches: 200
num_workers: 4
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 0
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,43 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.2344 1.1637 1.0464 15.1834
edep_logit 0.1038 -0.0389 0.9154 1.2521 12.7509
sec_logit -0.0401 -0.3063 0.9973 1.3948 12.8780
post_dx -0.1144 0.2365 0.8849 1.4247 14.0754
post_dy 0.1969 -0.0502 0.9479 0.5923 12.7509
post_dz 0.1798 -0.0799 1.1660 0.9817 10.4483
travel_dx 0.0000 0.2248 0.0000 0.9969 21.1933
travel_dy 0.0000 -0.4027 0.0000 1.0107 21.1933
travel_dz 0.0000 0.2537 0.0000 1.1752 2.7726
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4659 0.3354 0.0769 15.9420
1 1.0000 0.5398 0.0000 0.0593 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1224 0.9292 0.3722 13.1985
charge -0.1977 -0.0639 0.9295 0.3566 14.5522
epoch 1/1 stage1[loss=1.928] stage2[d=7.949 g=-0.053] val 15.5104 0.1s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,36 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:05:47.410749Z",
"args": [
"--spec",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml",
"--workers",
"1",
"--mode",
"run"
],
"program": "/home/lars/Programming/giant/giant/workflow/run.py",
"codePath": "giant/workflow/run.py",
"codePathLocal": "giant/workflow/run.py",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227085520896"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "or4v6kb1ovc7c03s73xv05tt65ws327p"
}
@@ -0,0 +1 @@
{"stage1/train/loss_proc":0,"stage1/train/loss_nsec":0,"val/loss":17.372398624909856,"stage1/val/loss_stop":0,"epoch_time_s":0.16791635100526037,"stage1/val/loss_nsec":0,"grad_norm":26.296576776590783,"stage2/train/gp_loss":0.6444484663188905,"stage2/train/grad_norm_g":0.08295154899246711,"gpu_mem_mb":0,"stage2/train/grad_norm_d":25.49316411986387,"stage2/train/d_loss":6.450412280577466,"stage1/train/loss_type":0,"stage2/train/nsec_acc":0.36090225575113655,"stage2/train/grad_norm_cont_slice":0.005208832428867656,"_wandb":{"runtime":0},"val/marginal_kl":15.535483727944827,"_step":5,"samples_per_sec":792.061042321206,"stage2/lr":0.00012,"stage1/train/nsec_acc":0,"stage1/train/loss":1.873649984374082,"stage1/val/loss_gen":1.8369148969650269,"stage1/val/loss":1.8369148969650269,"stage1/train/loss_balance":0,"stage2/critic_lr":0.0003,"stage2/train/g_loss":-0.025276119547679013,"stage1/train/stop_acc":0,"stage1/lr":8.999999999999999e-05,"stage1/train/type_acc":0,"stage2/train/loss_nsec":2.622415101617799,"stage1/val/loss_type":0,"stage2/train/loss_stop":0,"_runtime":0,"stage2/train/stop_acc":0,"stage1/val/nsec_acc":0,"epoch":1,"_timestamp":1.7877384419621117e+09,"stage1/val/type_acc":0,"stage1/train/loss_stop":0,"stage1/train/loss_entropy":0,"stage1/train/grad_norm":0.7204611077344507,"stage2/train/wasserstein":-0.005927463727337974,"stage2/train/grad_norm_type_slice":0.000876106321811676,"is_best":1,"_wandb.runtime":0,"stage1/val/stop_acc":0,"stage1/train/loss_gen":1.873649984374082}
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120546.log
@@ -0,0 +1,18 @@
{"time":"2026-08-26T12:05:47.414587851+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:05:47.414935095+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:05:47.923141233+02:00","level":"INFO","msg":"stream: created new stream","id":"epochs=1"}
{"time":"2026-08-26T12:05:47.923253164+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:05:47.923467788+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:05:47.923539674+02:00","level":"INFO","msg":"writer: started","stream_id":"epochs=1"}
{"time":"2026-08-26T12:05:47.923572075+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:05:48.630295208+02:00","level":"INFO","msg":"filestream: sending request","total_files":1}
{"time":"2026-08-26T12:05:48.852032204+02:00","level":"WARN","msg":"handler: ignoring partial history record","step":5,"current":6}
{"time":"2026-08-26T12:05:48.892408959+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:05:49.850681126+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:05:49.85086395+02:00","level":"INFO","msg":"filestream: sending request","total_files":2,"console_offset":0,"console_lines":43,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:05:50.327698664+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:05:50.33054758+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:05:50.333447101+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:05:50.333459534+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:05:50.3335687+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:05:50.333578639+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,357 @@
_wandb:
value:
cli_version: 0.28.1
e:
ynd05oqzkv76t8bkurywxz05ewze50ui:
args:
- --spec
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml
- --workers
- "1"
- --mode
- run
codePath: giant/workflow/run.py
codePathLocal: giant/workflow/run.py
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227085520896"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/giant/workflow/run.py
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:05:50.547280Z"
writerId: ynd05oqzkv76t8bkurywxz05ewze50ui
m: []
python_version: 3.12.13
t:
"1":
- 1
- 5
- 53
"2":
- 1
- 5
- 53
"3":
- 2
- 5
- 13
- 14
- 16
- 41
- 61
- 62
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 5
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 26409
stage2: 54162
total: 80571
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 2
lr: 0.0003
max_val_batches: 200
num_workers: 4
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 0
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,43 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.0388 1.1637 1.2439 10.6216
edep_logit 0.1038 -0.5505 0.9154 0.7483 17.2694
sec_logit -0.0401 -0.0553 0.9973 1.6806 19.7732
post_dx -0.1144 0.0491 0.8849 1.0873 15.2701
post_dy 0.1969 0.0061 0.9479 0.6886 16.1614
post_dz 0.1798 -0.1587 1.1660 0.9523 11.5562
travel_dx 0.0000 0.3628 0.0000 0.8803 2.0794
travel_dy 0.0000 -0.3038 0.0000 0.7700 21.1933
travel_dz 0.0000 0.2912 0.0000 1.2252 21.1933
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4527 0.3354 0.0734 15.9014
1 1.0000 0.5292 0.0000 0.0895 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1453 0.9292 0.3858 4.7211
charge -0.1977 -0.0492 0.9295 0.3317 14.4793
epoch 2/2 stage1[loss=1.779] stage2[d=7.789 g=-0.044] val 16.9971 0.1s
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,36 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:05:50.547280Z",
"args": [
"--spec",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml",
"--workers",
"1",
"--mode",
"run"
],
"program": "/home/lars/Programming/giant/giant/workflow/run.py",
"codePath": "giant/workflow/run.py",
"codePathLocal": "giant/workflow/run.py",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227085520896"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "ynd05oqzkv76t8bkurywxz05ewze50ui"
}
@@ -0,0 +1 @@
{"stage1/val/nsec_acc":0,"stage1/train/loss_balance":0,"stage2/critic_lr":0.0003,"stage2/train/wasserstein":-0.012677972254000212,"stage1/val/loss_type":0,"stage1/train/type_acc":0,"stage1/train/loss_nsec":0,"stage2/train/grad_norm_cont_slice":0.007121505593895016,"epoch_time_s":0.13597809900238644,"gpu_mem_mb":0,"grad_norm":28.807173418623385,"stage1/train/nsec_acc":0,"stage2/train/d_loss":5.457050940147917,"_runtime":0,"stage1/train/stop_acc":0,"stage2/train/nsec_acc":0.36090225586317537,"stage1/train/loss_entropy":0,"epoch":2,"stage1/val/loss_nsec":0,"stage1/train/loss_gen":1.872522564758932,"stage1/train/loss_proc":0,"_step":10,"stage1/val/loss_gen":1.8332903385162351,"stage1/train/loss":1.872522564758932,"stage2/lr":0.00017999999999999998,"stage2/train/loss_nsec":2.6134453088717353,"_wandb.runtime":0,"stage2/train/gp_loss":0.5444372881175881,"stage1/val/loss_stop":0,"stage1/train/grad_norm":0.7332364240087065,"is_best":1,"stage1/train/loss_type":0,"samples_per_sec":978.0986863014302,"stage2/train/stop_acc":0,"val/marginal_kl":15.535483727944827,"stage2/train/loss_stop":0,"stage2/train/g_loss":-0.027094751372373195,"stage2/train/grad_norm_type_slice":0.009069958127530892,"stage1/lr":0.000165,"stage1/train/loss_stop":0,"stage2/train/grad_norm_d":27.956740558595584,"_timestamp":1.7877384448696852e+09,"val/loss":17.368774066461064,"stage1/val/loss":1.8332903385162351,"stage1/val/type_acc":0,"stage2/train/grad_norm_g":0.11719643601909616,"_wandb":{"runtime":0},"stage1/val/stop_acc":0}
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120546.log
@@ -0,0 +1,20 @@
{"time":"2026-08-26T12:05:50.550560359+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:05:50.550731251+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:05:50.958806565+02:00","level":"INFO","msg":"stream: created new stream","id":"epochs=2"}
{"time":"2026-08-26T12:05:50.958925348+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:05:50.95917045+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:05:50.95922885+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:05:50.959219342+02:00","level":"INFO","msg":"writer: started","stream_id":"epochs=2"}
{"time":"2026-08-26T12:05:51.921714583+02:00","level":"INFO","msg":"filestream: sending request","total_files":1}
{"time":"2026-08-26T12:05:52.109627946+02:00","level":"INFO","msg":"flowcontrol: backed up, offloading to disk","recordNumber":66}
{"time":"2026-08-26T12:05:52.11086706+02:00","level":"INFO","msg":"flowcontrol: unblocked","totalOffloaded":23}
{"time":"2026-08-26T12:05:52.110954825+02:00","level":"WARN","msg":"handler: ignoring partial history record","step":10,"current":11}
{"time":"2026-08-26T12:05:52.323760301+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:05:52.951663155+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:05:52.952173115+02:00","level":"INFO","msg":"filestream: sending request","total_files":2,"console_offset":0,"console_lines":43,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:05:53.383649422+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:05:53.385059698+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:05:53.38852245+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:05:53.388539652+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:05:53.388598323+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:05:53.388606488+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,357 @@
_wandb:
value:
cli_version: 0.28.1
e:
sz38z114u2tfxdjzg1mag2rs2va1luwi:
args:
- --spec
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml
- --workers
- "1"
- --mode
- run
codePath: giant/workflow/run.py
codePathLocal: giant/workflow/run.py
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227085520896"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/giant/workflow/run.py
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:05:53.599572Z"
writerId: sz38z114u2tfxdjzg1mag2rs2va1luwi
m: []
python_version: 3.12.13
t:
"1":
- 1
- 5
- 53
"2":
- 1
- 5
- 53
"3":
- 2
- 5
- 13
- 14
- 16
- 41
- 61
- 62
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 5
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 26409
stage2: 54162
total: 80571
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 3
lr: 0.0003
max_val_batches: 200
num_workers: 4
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 0
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,43 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.6230 1.1637 1.2241 16.2914
edep_logit 0.1038 0.5304 0.9154 1.1436 11.6862
sec_logit -0.0401 -0.3349 0.9973 1.2312 16.0983
post_dx -0.1144 0.6235 0.8849 1.3231 15.1834
post_dy 0.1969 -0.1217 0.9479 1.0335 12.8375
post_dz 0.1798 -0.5140 1.1660 0.6126 15.0968
travel_dx 0.0000 0.3038 0.0000 0.9044 2.0794
travel_dy 0.0000 -0.4919 0.0000 0.6814 21.1933
travel_dz 0.0000 0.1689 0.0000 1.1528 2.0794
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4632 0.3354 0.0574 14.1692
1 1.0000 0.5308 0.0000 0.0671 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1370 0.9292 0.3398 5.1594
charge -0.1977 -0.0405 0.9295 0.3401 5.9980
epoch 3/3 stage1[loss=1.841] stage2[d=7.351 g=-0.045] val 14.5286 0.1s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,36 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:05:53.599572Z",
"args": [
"--spec",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/smoke.toml",
"--workers",
"1",
"--mode",
"run"
],
"program": "/home/lars/Programming/giant/giant/workflow/run.py",
"codePath": "giant/workflow/run.py",
"codePathLocal": "giant/workflow/run.py",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227085520896"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "sz38z114u2tfxdjzg1mag2rs2va1luwi"
}
@@ -0,0 +1 @@
{"stage2/train/wasserstein":-0.00959531486706626,"stage1/train/loss_balance":0,"_step":15,"stage1/train/grad_norm":0.73869278197898,"samples_per_sec":1142.7341743723402,"stage1/val/type_acc":0,"gpu_mem_mb":0,"stage2/train/nsec_acc":0.36090225575113655,"_wandb":{"runtime":0},"stage1/train/loss_proc":0,"stage2/train/loss_stop":0,"stage2/train/d_loss":4.57250355957146,"stage1/lr":0.00024,"stage2/train/g_loss":-0.02378324099949428,"_wandb.runtime":0,"stage2/train/grad_norm_type_slice":0.008421143194786589,"stage1/train/type_acc":0,"val/marginal_kl":15.535483727944827,"epoch_time_s":0.11638752299768385,"stage1/val/loss":1.8279871940612793,"stage1/train/loss_nsec":0,"stage1/train/loss_gen":1.894191010554034,"grad_norm":30.918668481052144,"_timestamp":1.7877384480070157e+09,"stage1/val/loss_gen":1.8279871940612793,"stage1/val/loss_type":0,"epoch":3,"val/loss":17.36347092200611,"stage2/train/loss_nsec":2.600247922696566,"_runtime":0,"stage1/val/nsec_acc":0,"stage1/train/loss":1.894191010554034,"stage2/train/grad_norm_d":30.059515745119946,"stage2/train/gp_loss":0.45629081242066577,"stage1/train/loss_type":0,"stage1/train/stop_acc":0,"stage2/train/stop_acc":0,"stage2/train/grad_norm_g":0.12045995395322492,"stage2/critic_lr":0.0003,"stage1/val/loss_stop":0,"stage1/train/loss_entropy":0,"stage1/train/loss_stop":0,"is_best":1,"stage1/val/loss_nsec":0,"stage1/val/stop_acc":0,"stage1/train/nsec_acc":0,"stage2/lr":0.00024,"stage2/train/grad_norm_cont_slice":0.008100892368115876}
@@ -0,0 +1 @@
/home/lars/.cache/wandb/logs/core-debug-20260826_120546.log
@@ -0,0 +1,20 @@
{"time":"2026-08-26T12:05:53.603583703+02:00","level":"INFO","msg":"wandb-core"}
{"time":"2026-08-26T12:05:53.603765495+02:00","level":"INFO","msg":"stream: starting","core version":"0.28.1"}
{"time":"2026-08-26T12:05:54.111493133+02:00","level":"INFO","msg":"stream: created new stream","id":"epochs=3"}
{"time":"2026-08-26T12:05:54.111600906+02:00","level":"INFO","msg":"handler: started"}
{"time":"2026-08-26T12:05:54.111828224+02:00","level":"INFO","msg":"stream: started"}
{"time":"2026-08-26T12:05:54.111882476+02:00","level":"INFO","msg":"writer: started","stream_id":"epochs=3"}
{"time":"2026-08-26T12:05:54.11194287+02:00","level":"INFO","msg":"sender: started"}
{"time":"2026-08-26T12:05:54.76967823+02:00","level":"INFO","msg":"filestream: sending request","total_files":1}
{"time":"2026-08-26T12:05:54.967116392+02:00","level":"INFO","msg":"flowcontrol: backed up, offloading to disk","recordNumber":59}
{"time":"2026-08-26T12:05:54.96800731+02:00","level":"INFO","msg":"flowcontrol: unblocked","totalOffloaded":29}
{"time":"2026-08-26T12:05:54.969172244+02:00","level":"WARN","msg":"handler: ignoring partial history record","step":15,"current":16}
{"time":"2026-08-26T12:05:55.33582325+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:05:55.872460505+02:00","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
{"time":"2026-08-26T12:05:55.872862052+02:00","level":"INFO","msg":"filestream: sending request","total_files":2,"console_offset":0,"console_lines":43,"uploaded_len":5,"complete":true,"exit_code":0}
{"time":"2026-08-26T12:05:56.326116675+02:00","level":"INFO","msg":"filestream: request sent","status":"200 OK"}
{"time":"2026-08-26T12:05:56.327601001+02:00","level":"INFO","msg":"handler: operation stats","stats":{}}
{"time":"2026-08-26T12:05:56.33054197+02:00","level":"INFO","msg":"stream: finishing up"}
{"time":"2026-08-26T12:05:56.330557449+02:00","level":"INFO","msg":"handler: closed"}
{"time":"2026-08-26T12:05:56.330602734+02:00","level":"INFO","msg":"sender: closed"}
{"time":"2026-08-26T12:05:56.330608776+02:00","level":"INFO","msg":"stream: all finished"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,368 @@
_wandb:
value:
cli_version: 0.28.1
e:
03u890h8ay2x9warl6313brxq8q7ckxj:
args:
- train
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/data/train.parquet
- --config
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/tiny.toml
- --epochs
- "3"
- --hidden-dim
- "16"
- --n-blocks
- "1"
- --batch-size
- "32"
- --stage2-hidden-dim
- "16"
- --stage2-n-res-blocks
- "1"
- --num-workers
- "0"
- --device
- cpu
- --out
- /tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/single
codePath: .venv/bin/giant
codePathLocal: .venv/bin/giant
cpu_count: 8
cpu_count_logical: 16
disk:
/:
total: "1153673723904"
used: "227095486464"
email: lars.bogner@outlook.de
executable: /home/lars/Programming/giant/.venv/bin/python3
git:
commit: 44edb474b26e0b618419f8f6e4503b0db9926f5c
remote: gitea@git.larsbogner.de:lars/giant.git
host: fedora-thinkpad
memory:
total: "15931523072"
os: Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43
program: /home/lars/Programming/giant/.venv/bin/giant
python: CPython 3.12.13
root: /home/lars/Programming/giant
startedAt: "2026-08-26T10:06:46.248455Z"
writerId: 03u890h8ay2x9warl6313brxq8q7ckxj
m: []
python_version: 3.12.13
t:
"1":
- 1
"2":
- 1
"3":
- 2
- 5
- 13
- 14
- 16
- 61
- 62
"4": 3.12.13
"5": 0.28.1
"12": 0.28.1
"13": linux-x86_64
conditioning:
value:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
model_config:
value:
conditioning:
material:
emb_dim: 16
n_layers: 2
type: physical
out_dim: 128
particle:
emb_dim: 16
n_layers: 2
type: physical
share_stages: false
mat_vocab: 2
pdg_vocab: 5
stage1_model:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
param_counts:
value:
stage1: 26409
stage2: 54162
total: 80571
stage1_model:
value:
active: true
ddpm:
n_steps: 1000
time_dim: 64
dropout: 0
flow:
time_dim: 64
freeze: false
generator: flow
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
lambda: 1
n_res_blocks: 1
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
n_critic: 5
noise_dim: 64
stage2_model:
value:
active: true
autoregressive:
attn_n_heads: 4
attn_n_layers: 2
history: markov
order: energy_desc
teacher_forcing: always
tf_p_end: 1
tf_p_start: 1
context_dim: 64
ctx_p_end: 0
ctx_p_start: 1
ddpm:
n_steps: 1000
time_dim: 64
decoder: one_shot
dropout: 0
flow:
time_dim: 64
freeze: false
generator: wgan
heads:
n_sec:
depth: 2
hidden_ratio: 0.5
type:
depth: 2
hidden_ratio: 0.5
hidden_dim: 16
init_from: ""
k_max: 15
lambda: 1
n_res_blocks: 1
n_sec:
lambda: 0.1
mode: head
owner: stage2
stop_sampling: greedy
particle_type:
class_weighting: none
lambda: 1
n_classes: 0
other_policy: sample
target: physical
router:
emb_dim: 8
enabled: false
gumbel: false
gumbel_tau_end: 0.1
gumbel_tau_start: 1
hidden_dim: 64
lambda_balance: 0
lambda_entropy: 0
lambda_proc: 0
learn_centers: true
learn_temperature: false
learn_width: false
n_experts: 4
temperature: 0.5
tie_to_stage1: false
type: energy
width_max_ratio: 10
width_min_ratio: 0.1
stage1_context: truth
trunk:
block_conditioning: add
type: resmlp
wgan:
critic_hidden_dim: 0
critic_lr: 0
critic_n_res_blocks: 0
gp_weight: 10
gumbel_tau_end: 0.1
gumbel_tau_start: 1
n_critic: 5
noise_dim: 64
train:
value:
batch_size: 32
ema_decay: 0.9999
epochs: 3
lr: 0.0003
max_val_batches: 200
num_workers: 0
precision: fp32
seed: 0
val_fraction: 0.1
validate_every: 10
validate_steps: 10
wandb: true
wandb_log_every: 50
wandb_project: giant
wandb_run_name: ""
warmup_epochs: 5
weight_decay: 0.01
@@ -0,0 +1,129 @@
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.2344 1.1637 1.0464 15.1834
edep_logit 0.1038 -0.0389 0.9154 1.2521 12.7509
sec_logit -0.0401 -0.3063 0.9973 1.3948 12.8780
post_dx -0.1144 0.2365 0.8849 1.4247 14.0754
post_dy 0.1969 -0.0502 0.9479 0.5923 12.7509
post_dz 0.1798 -0.0799 1.1660 0.9817 10.4483
travel_dx 0.0000 0.2248 0.0000 0.9969 21.1933
travel_dy 0.0000 -0.4027 0.0000 1.0107 21.1933
travel_dz 0.0000 0.2537 0.0000 1.1752 2.7726
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4659 0.3354 0.0769 15.9420
1 1.0000 0.5398 0.0000 0.0593 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1224 0.9292 0.3722 13.1985
charge -0.1977 -0.0639 0.9295 0.3566 14.5522
epoch 1/3 stage1[loss=1.928] stage2[d=7.949 g=-0.053] val 15.5104 0.3s [best]
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.0388 1.1637 1.2439 10.6216
edep_logit 0.1038 -0.5505 0.9154 0.7483 17.2694
sec_logit -0.0401 -0.0553 0.9973 1.6806 19.7732
post_dx -0.1144 0.0491 0.8849 1.0873 15.2701
post_dy 0.1969 0.0061 0.9479 0.6886 16.1614
post_dz 0.1798 -0.1587 1.1660 0.9523 11.5562
travel_dx 0.0000 0.3628 0.0000 0.8803 2.0794
travel_dy 0.0000 -0.3038 0.0000 0.7700 21.1933
travel_dz 0.0000 0.2912 0.0000 1.2252 21.1933
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4527 0.3354 0.0734 15.9014
1 1.0000 0.5292 0.0000 0.0895 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1453 0.9292 0.3858 4.7211
charge -0.1977 -0.0492 0.9295 0.3317 14.4793
epoch 2/3 stage1[loss=1.779] stage2[d=7.789 g=-0.044] val 16.9971 0.1s
Dim real_mean gen_mean real_std gen_std KL(real||gen)
-------------------------------------------------------------------------------
log_step_length -0.2712 -0.6230 1.1637 1.2241 16.2914
edep_logit 0.1038 0.5304 0.9154 1.1436 11.6862
sec_logit -0.0401 -0.3349 0.9973 1.2312 16.0983
post_dx -0.1144 0.6235 0.8849 1.3231 15.1834
post_dy 0.1969 -0.1217 0.9479 1.0335 12.8375
post_dz 0.1798 -0.5140 1.1660 0.6126 15.0968
travel_dx 0.0000 0.3038 0.0000 0.9044 2.0794
travel_dy 0.0000 -0.4919 0.0000 0.6814 21.1933
travel_dz 0.0000 0.1689 0.0000 1.1528 2.0794
n_sec accuracy=0.0000 mean|Δ|=13.0625
n_sec value real_frac gen_frac
------------------------------------------
0 0.3750 0.0000
1 0.3125 0.0000
2 0.3125 0.0000
3 0.0000 0.0000
4 0.0000 0.0000
5 0.0000 0.0000
6 0.0000 0.0000
7 0.0000 0.0000
8 0.0000 0.0000
9 0.0000 0.0000
10 0.0000 0.0000
11 0.0000 0.0000
12 0.0000 0.0000
13 0.0000 0.0000
14 0.0000 1.0000
sec slot (energy frac.) real_mean gen_mean real_std gen_std KL(real||gen)
------------------------------------------------------------------------------------------
0 0.6770 0.4632 0.3354 0.0574 14.1692
1 1.0000 0.5308 0.0000 0.0671 21.1933
sec phys (normalised) real_mean gen_mean real_std gen_std KL(real||gen)
--------------------------------------------------------------------
log_mass 0.1510 0.1370 0.9292 0.3398 5.1594
charge -0.1977 -0.0405 0.9295 0.3401 5.9980
epoch 3/3 stage1[loss=1.841] stage2[d=7.351 g=-0.045] val 14.5286 0.1s [best]
@@ -0,0 +1,122 @@
typer==0.26.7
python-dateutil==2.9.0.post0
six==1.17.0
markdown-it-py==4.2.0
mdurl==0.1.2
annotated-doc==0.0.4
shellingham==1.5.4
rich==15.0.0
Pygments==2.20.0
numpy==2.4.6
pyarrow==24.0.0
pandas==3.0.3
tqdm==4.68.3
PyYAML==6.0.3
packaging==26.2
typing_extensions==4.15.0
MarkupSafe==3.0.3
filelock==3.29.4
Jinja2==3.1.6
fsspec==2026.6.0
mpmath==1.3.0
networkx==3.6.1
sympy==1.14.0
torch==2.3.1+cpu
iniconfig==2.3.0
pluggy==1.6.0
ty==0.0.50
ruff==0.15.17
pytest==9.1.0
polars-runtime-32==1.41.2
polars==1.41.2
cramjam==2.11.0
xxhash==3.7.0
awkward_cpp==53
uproot==5.7.4
awkward==2.9.1
ipython_pygments_lexers==1.1.1
comm==0.2.3
decorator==5.3.1
nest-asyncio2==1.7.2
stack-data==0.6.3
kiwisolver==1.5.0
pyparsing==3.3.2
platformdirs==4.10.0
matplotlib-inline==0.2.2
ipykernel==7.3.0
jupyter_core==5.9.1
ptyprocess==0.7.0
pexpect==4.9.0
executing==2.2.1
psutil==7.2.2
asttokens==3.0.1
parso==0.8.7
wcwidth==0.8.1
pure_eval==0.2.3
cycler==0.12.1
jupyter_client==8.9.1
traitlets==5.15.1
contourpy==1.3.3
pyzmq==27.1.0
tornado==6.5.7
pillow==12.2.0
prompt_toolkit==3.0.52
ipython==9.14.1
debugpy==1.8.21
fonttools==4.63.0
matplotlib==3.11.0
jedi==0.20.0
threadpoolctl==3.6.0
joblib==1.5.3
narwhals==2.23.0
scikit-learn==1.9.0
scipy==1.18.0
hepunits==2.4.6
attrs==26.1.0
particle==1.0.0
plotstyle==1.0.0
certifi==2026.7.22
typing-inspection==0.4.2
annotated-types==0.8.0
idna==3.18
requests==2.34.2
click==8.4.2
pydantic_core==2.46.4
charset-normalizer==3.4.9
urllib3==2.7.0
protobuf==7.35.1
pydantic==2.13.4
sentry-sdk==2.66.1
wandb==0.28.1
pytest-cov==7.1.0
coverage==7.15.4
tomlkit==0.15.1
h11==0.16.0
bracex==3.0.1
truststore==0.10.4
python-dotenv==1.2.3
wcmatch==11.0.1
questionary==2.1.1
git-cliff==2.13.1
pydantic-settings==2.15.0
rich-click==1.9.8
httpx2==2.11.0
httpcore2==2.11.0
bump-my-version==1.5.1
anyio==4.14.2
giant==0.3.10
parse==1.22.1
python-daemon==2.1.2
colorama==0.4.6
tenacity==8.5.0
lockfile==0.12.2
webdavclient3==3.14.7
cachetools==7.1.7
smmap==5.0.3
gitdb==4.0.12
GitPython==3.1.60
b2luigi==1.2.9
lxml==6.1.2
docutils==0.23
luigi==3.7.3
setuptools==84.0.0
@@ -0,0 +1,52 @@
{
"os": "Linux-7.1.5-200.fc44.x86_64-x86_64-with-glibc2.43",
"python": "CPython 3.12.13",
"startedAt": "2026-08-26T10:06:46.248455Z",
"args": [
"train",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/data/train.parquet",
"--config",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/tiny.toml",
"--epochs",
"3",
"--hidden-dim",
"16",
"--n-blocks",
"1",
"--batch-size",
"32",
"--stage2-hidden-dim",
"16",
"--stage2-n-res-blocks",
"1",
"--num-workers",
"0",
"--device",
"cpu",
"--out",
"/tmp/claude-1000/-home-lars-Programming-giant/c0a425e3-0573-4431-8d18-9d7c30e13d34/scratchpad/single"
],
"program": "/home/lars/Programming/giant/.venv/bin/giant",
"codePath": ".venv/bin/giant",
"codePathLocal": ".venv/bin/giant",
"git": {
"remote": "gitea@git.larsbogner.de:lars/giant.git",
"commit": "44edb474b26e0b618419f8f6e4503b0db9926f5c"
},
"email": "lars.bogner@outlook.de",
"root": "/home/lars/Programming/giant",
"host": "fedora-thinkpad",
"executable": "/home/lars/Programming/giant/.venv/bin/python3",
"cpu_count": 8,
"cpu_count_logical": 16,
"disk": {
"/": {
"total": "1153673723904",
"used": "227095486464"
}
},
"memory": {
"total": "15931523072"
},
"writerId": "03u890h8ay2x9warl6313brxq8q7ckxj"
}

Some files were not shown because too many files have changed in this diff Show More