From eac1b775511f96a73ff7bbae571ff297d57fd578 Mon Sep 17 00:00:00 2001 From: Gsunshine Date: Mon, 23 Sep 2024 18:46:35 -0400 Subject: [PATCH 01/60] Add AMP gradscalar. --- ct_train.py | 5 ++-- training/ct_training_loop.py | 52 +++++++++++++++++++----------------- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/ct_train.py b/ct_train.py index d9976a5b..f7251870 100644 --- a/ct_train.py +++ b/ct_train.py @@ -78,7 +78,8 @@ def convert(self, value, param, ctx): @click.option('--fp16', help='Enable mixed-precision training', metavar='BOOL', type=bool, default=False, show_default=True) @click.option('--tf32', help='Enable tf32 for A100/H100 training speed', metavar='BOOL', type=bool, default=False, show_default=True) @click.option('--ls', help='Loss scaling', metavar='FLOAT', type=click.FloatRange(min=0, min_open=True), default=1, show_default=True) -@click.option('--enable_gradscaler', help='Enable torch.cuda.amp.GradScaler, NOTE overwritting loss_scale set by --ls', metavar='BOOL', type=bool, default=False, show_default=True) +@click.option('--amp', help='Enable torch.cuda.amp.GradScaler for mixed precision training, \ + NOTE overwritting loss_scale set by --ls', metavar='BOOL', type=bool, default=False, show_default=True) @click.option('--bench', help='Enable cuDNN benchmarking', metavar='BOOL', type=bool, default=True, show_default=True) @click.option('--cache', help='Cache dataset in CPU memory', metavar='BOOL', type=bool, default=True, show_default=True) @click.option('--workers', help='DataLoader worker processes', metavar='INT', type=click.IntRange(min=1), default=1, show_default=True) @@ -165,7 +166,7 @@ def main(**kwargs): c.ema_halflife_kimg = int(opts.ema * 1000) if opts.ema is not None else opts.ema c.ema_beta = opts.ema_beta c.update(batch_size=opts.batch, batch_gpu=opts.batch_gpu) - c.update(loss_scaling=opts.ls, cudnn_benchmark=opts.bench, enable_tf32=opts.tf32, enable_gradscaler=opts.enable_gradscaler) + c.update(loss_scaling=opts.ls, cudnn_benchmark=opts.bench, enable_tf32=opts.tf32, enable_gradscaler=opts.enable_amp) c.update(kimg_per_tick=opts.tick, snapshot_ticks=opts.snap, state_dump_ticks=opts.dump, ckpt_ticks=opts.ckpt, double_ticks=opts.double) c.update(mid_t=opts.mid_t, metrics=opts.metrics, sample_ticks=opts.sample_every, eval_ticks=opts.eval_every) diff --git a/training/ct_training_loop.py b/training/ct_training_loop.py index 4f5f0b80..10c4d4b0 100644 --- a/training/ct_training_loop.py +++ b/training/ct_training_loop.py @@ -128,8 +128,8 @@ def training_loop( mid_t = None, # Intermediate t for few-step generation. metrics = None, # Metrics for evaluation. cudnn_benchmark = True, # Enable torch.backends.cudnn.benchmark? - enable_tf32 = False, # Enable tf32 for A100/H100 GPUs? - enable_gradscaler = False, # Enable torch.cuda.amp.GradScaler + enable_tf32 = False, # Enable tf32 for A100/H100 GPUs? + enable_amp = False, # Enable torch.cuda.amp.GradScaler device = torch.device('cuda'), ): # Initialize. @@ -169,8 +169,9 @@ def training_loop( optimizer = dnnlib.util.construct_class_by_name(params=net.parameters(), **optimizer_kwargs) # subclass of torch.optim.Optimizer augment_pipe = dnnlib.util.construct_class_by_name(**augment_kwargs) if augment_kwargs is not None else None # training.augment.AugmentPipe - dist.print0(f'GradScaler enabled: {enable_gradscaler}') - if enable_gradscaler: + # Automatic Mixed Precision + dist.print0(f'GradScaler enabled: {enable_amp} for mixed preicision training') + if enable_amp: # https://pytorch.org/tutorials/recipes/recipes/amp_recipe.html#adding-gradscaler # https://pytorch.org/docs/stable/notes/amp_examples.html#gradient-accumulation dist.print0(f'Setting up GradScaler...') @@ -206,10 +207,11 @@ def training_loop( data = torch.load(resume_state_dump, map_location=torch.device('cpu')) misc.copy_params_and_buffers(src_module=data['net'], dst_module=net, require_all=True) optimizer.load_state_dict(data['optimizer_state']) - if enable_gradscaler: + if enable_amp: if 'gradscaler_state' in data: + # NOTE(aiihn): Although not loading the state_dict of the GradScaler works well, + # loading it can improve reproducibility. dist.print0(f'Loading GradScaler state from "{resume_state_dump}"...') - # Although not loading the state_dict of the GradScaler works well, loading it can improve reproducibility. scaler.load_state_dict(data['gradscaler_state']) else: dist.print0(f'GradScaler state is not found in "{resume_state_dump}", using the default state.') @@ -269,24 +271,26 @@ def update_scheduler(loss_fn): loss = loss_fn(net=ddp, images=images, labels=labels, augment_pipe=augment_pipe) training_stats.report('Loss/loss', loss) - if enable_gradscaler: + if enable_amp: scaler.scale(loss.mean()).backward() else: - # loss.sum().mul(loss_scaling / batch_gpu_total).backward() loss.mul(loss_scaling).mean().backward() - if enable_gradscaler: - # TODO Is torch.nan_to_num(param.grad, nan=0, posinf=1e5, neginf=-1e5, out=param.grad) needed when using GradScaler? + # NOTE(aiihn & Gsunshine): This should be further tested for AMP. + for param in net.parameters(): + if param.grad is not None: + torch.nan_to_num(param.grad, nan=0, posinf=1e5, neginf=-1e5, out=param.grad) + + # LR scheduler (if needed in the future) + # for g in optimizer.param_groups: + # g['lr'] = optimizer_kwargs['lr'] * min(cur_nimg / max(lr_rampup_kimg * 1000, 1e-8), 1) + + # Update weights. + if enable_amp: scaler.step(optimizer) scaler.update() else: - # Update weights. - # for g in optimizer.param_groups: - # g['lr'] = optimizer_kwargs['lr'] * min(cur_nimg / max(lr_rampup_kimg * 1000, 1e-8), 1) - for param in net.parameters(): - if param.grad is not None: - torch.nan_to_num(param.grad, nan=0, posinf=1e5, neginf=-1e5, out=param.grad) - optimizer.step() + optimizer.step() # Update EMA. if ema_halflife_kimg is not None: @@ -341,10 +345,9 @@ def update_scheduler(loss_fn): # Save full dump of the training state. if (state_dump_ticks is not None) and (done or cur_tick % state_dump_ticks == 0) and cur_tick != 0 and dist.get_rank() == 0: - if enable_gradscaler: - data = dict(net=net, optimizer_state=optimizer.state_dict(), gradscaler_state=scaler.state_dict()) - else: - data = dict(net=net, optimizer_state=optimizer.state_dict()) + data = dict(net=net, optimizer_state=optimizer.state_dict()) + if enable_amp: + data.update(gradscaler_state=scaler.state_dict()) torch.save(data, os.path.join(run_dir, f'training-state-{cur_tick:06d}.pt')) # Save latest checkpoints @@ -363,10 +366,9 @@ def update_scheduler(loss_fn): del data # conserve memory if dist.get_rank() == 0: - if enable_gradscaler: - data = dict(net=net, optimizer_state=optimizer.state_dict(), gradscaler_state=scaler.state_dict()) - else: - data = dict(net=net, optimizer_state=optimizer.state_dict()) + data = dict(net=net, optimizer_state=optimizer.state_dict()) + if enable_amp: + data.update(gradscaler_state=scaler.state_dict()) torch.save(data, os.path.join(run_dir, f'training-state-latest.pt')) # Sample Img From 48e3f4781e4a5a4c9387da6e9363bd50d335ece2 Mon Sep 17 00:00:00 2001 From: Gsunshine Date: Mon, 23 Sep 2024 18:57:41 -0400 Subject: [PATCH 02/60] Update README. --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 18449702..d232ef27 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ Try your own [Consistency Models](https://arxiv.org/abs/2303.01469)! You only ne Baking more in the oven. 🙃 +- **2024.09.23** - Add Gradscaler for Mixed Precision Training. To use mixed precision with GradScaler, switch to the [`amp` branch](https://github.com/locuslab/ect/tree/amp): `git checkout amp`. - **2024.04.27** - Upgrade environment to Pytorch 2.3.0. - **2024.04.12** - ECMs can now surpass SoTA GANs using 1 model step and SoTA Diffusion Models using 2 model steps on CIFAR10. Checkpoints available. @@ -46,6 +47,18 @@ bash run_ecm.sh --desc bs128.200k Replace NGPUs and PORT with the number of GPUs used for training and the port number for DDP sync. +### Half Precision Training + +In this branch, we enable fp16 training with AMP GradScaler for more stable training dynamics. +To enable fp16 and GradScaler, add the following arguments to your script: + +```bash +bash run_ecm_1hour.sh 1 --desc bs128.1hour --fp16=True --enable_amp=True +``` + +For more information, please refer to this [PR](https://github.com/locuslab/ect/pull/13). +Full support for Automatic Mixed Precision (AMP) will be added later. + ## Evaluation Run the following command to calculate FID of a pretrained checkpoint. From a2238829fa46c28272213217be7a411684f0a91f Mon Sep 17 00:00:00 2001 From: hjjjs4vbmv-netizen Date: Tue, 14 Jul 2026 23:53:59 +0800 Subject: [PATCH 03/60] fix: restore AMP CLI and metrics-none behavior --- .gitignore | 17 +++++++++++++---- ct_train.py | 4 ++-- training/ct_training_loop.py | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 3857786f..f3250f37 100644 --- a/.gitignore +++ b/.gitignore @@ -161,10 +161,19 @@ cython_debug/ # Project-related -datasets - -ct-runs -ct-evals +datasets/ +runs/ +checkpoints/ +ct-runs/ +ct-evals/ +wandb/ +*.pkl +*.pt +*.pth +*.ckpt +*.safetensors +*.zip +*.pyc slurm* debug.sh diff --git a/ct_train.py b/ct_train.py index f7251870..1906ec4b 100644 --- a/ct_train.py +++ b/ct_train.py @@ -78,7 +78,7 @@ def convert(self, value, param, ctx): @click.option('--fp16', help='Enable mixed-precision training', metavar='BOOL', type=bool, default=False, show_default=True) @click.option('--tf32', help='Enable tf32 for A100/H100 training speed', metavar='BOOL', type=bool, default=False, show_default=True) @click.option('--ls', help='Loss scaling', metavar='FLOAT', type=click.FloatRange(min=0, min_open=True), default=1, show_default=True) -@click.option('--amp', help='Enable torch.cuda.amp.GradScaler for mixed precision training, \ +@click.option('--enable_amp', '--amp', 'enable_amp', help='Enable torch.cuda.amp.GradScaler for mixed precision training, \ NOTE overwritting loss_scale set by --ls', metavar='BOOL', type=bool, default=False, show_default=True) @click.option('--bench', help='Enable cuDNN benchmarking', metavar='BOOL', type=bool, default=True, show_default=True) @click.option('--cache', help='Cache dataset in CPU memory', metavar='BOOL', type=bool, default=True, show_default=True) @@ -166,7 +166,7 @@ def main(**kwargs): c.ema_halflife_kimg = int(opts.ema * 1000) if opts.ema is not None else opts.ema c.ema_beta = opts.ema_beta c.update(batch_size=opts.batch, batch_gpu=opts.batch_gpu) - c.update(loss_scaling=opts.ls, cudnn_benchmark=opts.bench, enable_tf32=opts.tf32, enable_gradscaler=opts.enable_amp) + c.update(loss_scaling=opts.ls, cudnn_benchmark=opts.bench, enable_tf32=opts.tf32, enable_amp=opts.enable_amp) c.update(kimg_per_tick=opts.tick, snapshot_ticks=opts.snap, state_dump_ticks=opts.dump, ckpt_ticks=opts.ckpt, double_ticks=opts.double) c.update(mid_t=opts.mid_t, metrics=opts.metrics, sample_ticks=opts.sample_every, eval_ticks=opts.eval_every) diff --git a/training/ct_training_loop.py b/training/ct_training_loop.py index 10c4d4b0..f89bf66f 100644 --- a/training/ct_training_loop.py +++ b/training/ct_training_loop.py @@ -380,7 +380,7 @@ def update_scheduler(loss_fn): del images # Evaluation - if (eval_ticks is not None) and (done or cur_tick % eval_ticks == 0) and cur_tick > 0: + if metrics and (eval_ticks is not None) and (done or cur_tick % eval_ticks == 0) and cur_tick > 0: dist.print0('Evaluating models...') result_dict = metric_main.calc_metric(metric='fid50k_full', generator_fn=generator_fn, G=ema, G_kwargs={}, From 36dcae6f5416b2e1be770e70f6f81a20b2d2cb6b Mon Sep 17 00:00:00 2001 From: hjjjs4vbmv-netizen Date: Wed, 15 Jul 2026 11:59:52 +0800 Subject: [PATCH 04/60] chore: integrate reproducible engineering workflow --- artifacts/day2/collaborator_audit.md | 128 +++++++++++ artifacts/day2/integration_report.md | 126 +++++++++++ conda-matpool.yml | 18 ++ docs/DAY1_A.md | 202 ++++++++++++++++++ download_checkpoint.sh | 125 +++++++++++ prepare_data.sh | 147 +++++++++++++ scripts/check_environment.py | 138 ++++++++++++ scripts/smoke_engineering_100steps.sh | 295 ++++++++++++++++++++++++++ scripts/verify_assets.py | 221 +++++++++++++++++++ scripts/verify_smoke_run.py | 136 ++++++++++++ setup_env.sh | 127 +++++++++++ 11 files changed, 1663 insertions(+) create mode 100644 artifacts/day2/collaborator_audit.md create mode 100644 artifacts/day2/integration_report.md create mode 100644 conda-matpool.yml create mode 100644 docs/DAY1_A.md create mode 100755 download_checkpoint.sh create mode 100755 prepare_data.sh create mode 100755 scripts/check_environment.py create mode 100755 scripts/smoke_engineering_100steps.sh create mode 100755 scripts/verify_assets.py create mode 100755 scripts/verify_smoke_run.py create mode 100755 setup_env.sh diff --git a/artifacts/day2/collaborator_audit.md b/artifacts/day2/collaborator_audit.md new file mode 100644 index 00000000..f9e8109d --- /dev/null +++ b/artifacts/day2/collaborator_audit.md @@ -0,0 +1,128 @@ +# Day 2 collaborator audit + +Audit date: 2026-07-15 (Asia/Shanghai) + +This report records the read-only audit completed before local integration. Remote refs were +fetched and inspected, but no collaborator branch was modified, merged, rebased, reset, or +pushed. + +## Public baseline + +- `origin/main`: `4311059770f54821d151a9b0e1f76770a5f3930e` +- `origin/leader/day1-bootstrap`: `4e33194777a347ea5286b5ec1d5c29a58c792d29` +- Merge base: `origin/main` +- Relative topology: leader ahead 4, behind 0 +- Changed files versus main: 8 +- `git diff --check`: passed +- AMP CLI: `--enable_amp`, `--amp`, and `--enable_gradscaler` map to `enable_amp` +- AMP propagation: `enable_amp` is passed into `training_loop` +- GradScaler order: accumulation, `unscale_`, non-finite handling, `step`, `update` +- GradScaler state: saved in numbered/latest training states and restored on resume +- Non-AMP path: retains ordinary `optimizer.step()` +- `metrics=none`: parses to `[]`; periodic and final metric calls are skipped +- Compile and help checks: passed in the `ect` environment +- Decision: **READY_TO_MERGE** + +No formal training or FID/KID evaluation was run during the audit. + +## codex/day1-engineering + +- SHA: `3cb1c52fc56f01942c84d535dddddffd99c3af47` +- Commit: `Add reproducible Day 1 training workflow` +- Base: `origin/main`; behind the public baseline by 4 commits and ahead by 1 +- Scope: 18 changed files, 1183 insertions, 14 deletions +- Shell, Python, JSON, and whitespace syntax checks: passed + +Useful engineering deliverables: + +- `conda-matpool.yml` +- `setup_env.sh` +- `prepare_data.sh` +- `download_checkpoint.sh` +- `scripts/check_environment.py` +- `scripts/verify_assets.py` +- `scripts/verify_smoke_run.py` +- `docs/DAY1_A.md` + +Files that must not replace the public baseline: + +- `ct_train.py` +- `training/ct_training_loop.py` +- `env.yml` +- `.gitignore` +- `README.md` + +The collaborator environment pinned huggingface-hub 0.20.3, while the validated public +runtime used 0.23.4. The collaborator dataset ZIP SHA256 +`45e772cbbcb4ebb8657d383557fba2fd24cb929aeaab99fe1963b1462377da9d` differs from the +public ZIP SHA256 `2d4056e80de1a96fe16f2f58945c6c4710ecd9fc02e3cc7aa5b50513b7cdf389`. +Both reported the same byte size. `dataset_tool.py` stores variable ZIP entry timestamps, so +the converted ZIP digest is informational; source MD5, CRC, image/label content, dimensions, +color mode, and project loader behavior are authoritative. + +The collaborator smoke used global batch 10 and ran 100 fresh plus 100 resumed optimizer +updates. It explicitly used `--fp16=False`, did not enable GradScaler, and was produced from a +dirty tree whose recorded SHA was main rather than the collaborator commit. It is FP32 +engineering-connectivity evidence only. No checkpoint, training state, dataset ZIP, or large +log was committed to Git. + +Decision: **ACCEPT_SELECTED_FILES + REQUIRES_REBASE + REJECT_WHOLE_BRANCH**. + +## wk/iniBR + +- SHA: `e3158d83112a2fffb0796a515becee699c73d3fa` +- Ahead 1, behind 0 relative to main +- Raw scope: 30 files, 5375 insertions and 5375 deletions +- Ignoring end-of-line differences produces an empty diff with exit code 0 +- Typical files changed from pure LF to pure CRLF with identical logical lines +- Semantic changes: none +- Classification: **CRLF_ONLY_CHANGE** +- Decision: **DO_NOT_MERGE** + +The member should create a new branch from `origin/leader/day1-bootstrap`, set +`git config core.autocrlf input`, reapply only genuine work, and avoid cherry-picking the +line-ending conversion commit. + +## edwards365 + +- SHA: `4311059770f54821d151a9b0e1f76770a5f3930e` +- Exactly equal to `origin/main` +- Ahead 0, behind 0, changed files 0 +- Status: **NO_REMOTE_DELIVERABLE** + +No claim is made about local, unpushed work. + +## Missing collaborator + +No fourth collaborator branch was present after fetching and pruning remote-tracking refs. +The member must provide a branch name and SHA and push the deliverable before role mapping or +integration. + +## Role coverage + +| Role | Expected work | Current branch | Status | +|------|---------------|----------------|--------| +| A | Engineering and environment reproduction | `codex/day1-engineering` | Clear selective deliverable | +| B | Official fixed ECT baseline | None evidenced | Missing remote deliverable | +| C | Adaptive t-to-r schedule | None evidenced | Missing remote deliverable | +| D | Unified sampling, evaluation, visualization | None evidenced | Missing remote deliverable | + +Only Role A can be mapped from content. The other visible collaborator refs contain either no +semantic work or no commits, and one collaborator branch is absent. + +## Selective integration decision + +ACCEPT: + +- the eight engineering files listed above, subject to Day 2 path and validation hardening + +REWRITE: + +- `smoke_test.sh` as `scripts/smoke_engineering_100steps.sh` +- collaborator JSON evidence and provenance rather than importing it as frozen evidence + +REJECT: + +- direct replacement of the five protected public-baseline files +- whole-branch merge of `codex/day1-engineering` +- any merge of `wk/iniBR` diff --git a/artifacts/day2/integration_report.md b/artifacts/day2/integration_report.md new file mode 100644 index 00000000..c1ae949b --- /dev/null +++ b/artifacts/day2/integration_report.md @@ -0,0 +1,126 @@ +# Day 2 local integration report + +Integration date: 2026-07-15 (Asia/Shanghai) + +## Scope and branch + +- Local branch: `leader/day2-local-integration` +- Base: `origin/leader/day1-bootstrap@4e33194777a347ea5286b5ec1d5c29a58c792d29` +- Selective source: `origin/codex/day1-engineering@3cb1c52fc56f01942c84d535dddddffd99c3af47` +- Commit created: no +- Push or PR created: no + +The worktree versions of `ct_train.py`, `training/ct_training_loop.py`, `env.yml`, `.gitignore`, +and `README.md` were hash-checked against the public baseline immediately after extraction and +were identical. + +## Imported files + +- `conda-matpool.yml` +- `setup_env.sh` +- `prepare_data.sh` +- `download_checkpoint.sh` +- `scripts/check_environment.py` +- `scripts/verify_assets.py` +- `scripts/verify_smoke_run.py` +- `docs/DAY1_A.md` + +## Rewritten or adapted files + +- `scripts/smoke_engineering_100steps.sh` + - engineering-connectivity label, never a formal ECT baseline + - persistent `/mnt/ect_project` defaults + - `metrics=none` + - public-baseline `--enable_amp` CLI with FP16 and AMP enabled by default + - explicit statement that legacy FP32 evidence did not validate GradScaler + - separate `--check-only` and `--dry-run` paths +- `scripts/verify_assets.py` + - official CIFAR-10 tarball MD5 + - ZIP CRC + - exactly 50000 PNGs and 50000 one-to-one labels + - all images checked as 32x32 RGB + - `ImageFolderDataset` length, labels, dtype, shape, and sample reads + - ZIP SHA256 recorded without enforcing one conversion digest +- `scripts/check_environment.py` + - aligned to the protected public environment rather than collaborator `env.yml` + - records all observed package versions and validates imports + - checks the frozen core package/runtime versions and CUDA +- `setup_env.sh`, `prepare_data.sh`, and `download_checkpoint.sh` + - use `/mnt/ect_project` persistent defaults + - write optional reports under persistent `runs/day2` + - preserve check-only workflows +- `scripts/verify_smoke_run.py` + - records engineering-only provenance + - validates expected batch, FP16, AMP, and disabled formal metrics +- `docs/DAY1_A.md` + - documents persistent paths and the engineering/formal-baseline boundary + - removes dirty-main evidence claims + - does not claim a completed FP16 + GradScaler training validation + +## Validation results + +All commands below passed: + +- `bash -n setup_env.sh` +- `bash -n prepare_data.sh` +- `bash -n download_checkpoint.sh` +- `bash -n scripts/smoke_engineering_100steps.sh` +- `python -m compileall scripts training ct_train.py` with pycache redirected outside the repo +- `python ct_train.py --help` +- help checks for all imported/reworked scripts +- `bash setup_env.sh --check-only` +- `bash prepare_data.sh --check-only` +- `bash download_checkpoint.sh --check-only` +- `bash scripts/smoke_engineering_100steps.sh --check-only` +- `bash scripts/smoke_engineering_100steps.sh --dry-run` + +The dry-run configuration reported: + +- dataset size: 50000 +- global batch: 10 +- network `use_fp16`: true +- `enable_amp`: true +- `metrics`: empty list +- formal FID/KID: disabled +- output directory was not created + +Asset verification reported: + +- source tarball MD5: `c58f30108f718f92721af3b95e74349a` +- dataset ZIP CRC: passed +- PNG count: 50000 +- label count: 50000 +- image format: 32x32 RGB +- `ImageFolderDataset` length: 50000 +- dataset ZIP SHA256, informational only: + `2d4056e80de1a96fe16f2f58945c6c4710ecd9fc02e3cc7aa5b50513b7cdf389` +- official transfer checkpoint SHA256: + `4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da` + +No optimizer update, complete engineering smoke, formal training, FID, or KID was run. + +## Protected files rejected from import + +- `ct_train.py` +- `training/ct_training_loop.py` +- `env.yml` +- `.gitignore` +- `README.md` +- collaborator `artifacts/day1/*.json` +- collaborator `artifacts/day1/README.md` +- entire `codex/day1-engineering` branch +- entire `wk/iniBR` branch + +## Remaining issues and decisions + +1. The integration is intentionally uncommitted and unpushed. +2. No dynamic FP16 + GradScaler optimizer step or GradScaler state/resume test was run; the + successful dry run validates configuration propagation only. +3. The official fixed ECT baseline, adaptive schedule, and unified evaluation work still have + no collaborator remote deliverables. +4. `edwards365` still points to main, and one collaborator branch is still missing. +5. Public `env.yml` does not explicitly pin huggingface-hub 0.23.4 even though the validated + runtime and environment checker freeze that compatibility version. Changing `env.yml` was + explicitly outside this selective integration manifest and requires a separate decision. +6. `scripts/verify_smoke_run.py` was syntax-checked but cannot be exercised end-to-end without + running a new 100-step engineering smoke, which was explicitly prohibited in this phase. diff --git a/conda-matpool.yml b/conda-matpool.yml new file mode 100644 index 00000000..6abcf339 --- /dev/null +++ b/conda-matpool.yml @@ -0,0 +1,18 @@ +channels: + - pytorch + - nvidia + - defaults + +# Matpool's default channel alias may redirect community channels to mirror +# paths that do not exist (notably the `nvidia` channel). Keep named channels +# on Anaconda.org while retaining fast mainland mirrors for defaults. +channel_alias: https://conda.anaconda.org +default_channels: + - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main + - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r + +show_channel_urls: true +default_threads: 1 +fetch_threads: 1 +verify_threads: 1 +execute_threads: 1 diff --git a/docs/DAY1_A.md b/docs/DAY1_A.md new file mode 100644 index 00000000..c2f3b578 --- /dev/null +++ b/docs/DAY1_A.md @@ -0,0 +1,202 @@ +# Day 1 A:工程环境、资产与连通性验证 + +本文档对应工程和环境复现工作线。当前整合以公共基线 +`origin/leader/day1-bootstrap@4e33194777a347ea5286b5ec1d5c29a58c792d29` +为基础,并保留该基线的 AMP、GradScaler 和 `metrics=none` 行为。 + +这里的 100-step smoke 只验证工程连通性,不是官方固定 ECT baseline, +也不能用于报告正式训练质量、FID 或 KID。 + +## 1. 持久化目录 + +脚本默认使用以下布局: + +```text +/mnt/ect_project/ +├── datasets/ +├── pretrained/ +├── runs/ +└── checkpoints/ +``` + +默认资产路径为: + +```text +/mnt/ect_project/datasets/cifar-10-python.tar.gz +/mnt/ect_project/datasets/cifar10-32x32.zip +/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl +``` + +如平台的持久盘挂载点不同,可统一设置: + +```bash +export ECT_PROJECT_ROOT=/path/to/persistent/ect_project +``` + +也可以分别覆盖: + +```bash +export ECT_CIFAR10_TARBALL=/path/to/cifar-10-python.tar.gz +export ECT_DATA_PATH=/path/to/cifar10-32x32.zip +export ECT_TRANSFER_PATH=/path/to/edm-cifar10-32x32-uncond-vp.pkl +export ECT_RUNS_ROOT=/path/to/persistent/runs +``` + +## 2. 环境检查 + +`env.yml` 仍由公共基线管理,本次工程整合不会覆盖它。MatrixCloud/矩池云可用 +`conda-matpool.yml` 处理 channel 映射。 + +已有 `ect` 环境时只检查,不更新: + +```bash +bash setup_env.sh --check-only +``` + +首次创建环境: + +```bash +bash setup_env.sh +``` + +只有明确决定同步依赖时才使用: + +```bash +bash setup_env.sh --update +``` + +检查器记录 Python、包版本、import、CUDA、GPU、Git SHA 和工作树状态。公共基线已 +验证的关键版本包括 Python 3.9.18、PyTorch 2.3.0、CUDA 12.1、diffusers +0.26.3、accelerate 0.27.2 和 huggingface-hub 0.23.4。 + +## 3. CIFAR-10 准备与验证 + +只检查现有持久化资产: + +```bash +bash prepare_data.sh --check-only +``` + +资产不存在时才执行下载和转换: + +```bash +bash prepare_data.sh +``` + +数据验收包括: + +1. 官方原始 tarball MD5 `c58f30108f718f92721af3b95e74349a`; +2. ZIP CRC; +3. 恰好 50000 个 PNG; +4. 恰好 50000 个 labels,且与 PNG 一一对应; +5. 所有 PNG 均为 32×32 RGB; +6. `ImageFolderDataset` 长度为 50000,且首、中、尾样本可读取; +7. 记录转换后 ZIP SHA256,但不把单一 SHA256 作为内容一致性的硬约束。 + +转换 ZIP 可能因 ZIP entry 时间戳不同而具有不同 SHA256;因此原始 tarball MD5、 +CRC、图像/标签内容和项目数据加载器检查才是主要依据。 + +## 4. 官方 EDM transfer checkpoint + +只检查现有 checkpoint: + +```bash +bash download_checkpoint.sh --check-only +``` + +文件不存在时才下载: + +```bash +bash download_checkpoint.sh +``` + +默认目标位于 `/mnt/ect_project/pretrained/`,并检查官方 SHA256: + +```text +4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da +``` + +## 5. 工程 smoke 与正式 baseline 的边界 + +新脚本名称为: + +```text +scripts/smoke_engineering_100steps.sh +``` + +它的职责仅包括: + +- 环境和资产可读取; +- `ct_train.py` 配置连通; +- 经单独授权后可执行 fresh 100 updates; +- 经单独授权后可执行 resume 100 updates; +- checkpoint、optimizer state 和 resume 链路可生成并检查; +- `metrics=none`,不运行正式 FID/KID。 + +它不属于官方固定 ECT baseline,不提供训练质量结论。 + +只读检查环境和资产: + +```bash +bash scripts/smoke_engineering_100steps.sh --check-only +``` + +只执行 `ct_train.py --dry_run`,不训练、不创建 run 目录: + +```bash +bash scripts/smoke_engineering_100steps.sh --dry-run +``` + +脚本默认使用公共基线的规范 AMP 参数: + +```text +--fp16=True +--enable_amp=True +``` + +公共基线也兼容 `--amp=True` 和 `--enable_gradscaler=True`。旧 collaborator smoke +明确使用 `--fp16=False`,且没有启用 GradScaler,因此旧 evidence 不能被解释为 +FP16 + GradScaler 验证。只有未来实际运行新的 AMP smoke 并检查训练日志和 state 后, +才能形成新的 GradScaler 运行证据。 + +完整 100+100-step 工程 smoke 属于训练操作,本次 Day 2 本地整合不会执行。后续只有 +得到单独授权后才能运行: + +```bash +bash scripts/smoke_engineering_100steps.sh --mode all +``` + +默认 run 路径为 `/mnt/ect_project/runs/engineering-smoke/`。总 batch 固定为 10, +所以 fresh 1 kimg 为 100 optimizer updates,resume 到 2 kimg 再增加 100 updates。 + +## 6. 正式固定 ECT baseline + +正式 baseline 必须另行定义并冻结以下信息: + +- 公共代码 SHA; +- 数据和 checkpoint 内容验证; +- batch、优化器、学习率、seed、schedule 和训练时长; +- AMP/GradScaler 是否实际启用; +- sampling 与 evaluation 协议; +- 正式结果和重复实验。 + +不能将 `smoke_engineering_100steps.sh` 的结果重命名或描述为正式 baseline。 + +## 7. 安全检查 + +提交工程改动前运行: + +```bash +bash -n setup_env.sh +bash -n prepare_data.sh +bash -n download_checkpoint.sh +bash -n scripts/smoke_engineering_100steps.sh +python -m compileall scripts training ct_train.py +python ct_train.py --help +git diff --check +git diff --stat +git status +``` + +数据或 checkpoint 验证失败时应立即停止,不得继续训练。正式训练、完整工程 smoke、 +FID 和 KID 都不属于本地整合检查。 diff --git a/download_checkpoint.sh b/download_checkpoint.sh new file mode 100755 index 00000000..ba10d455 --- /dev/null +++ b/download_checkpoint.sh @@ -0,0 +1,125 @@ +#!/usr/bin/env bash + +# Download and verify the official EDM CIFAR-10 checkpoint used for ECT transfer. + +set -Eeuo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ENV_NAME="${ECT_ENV_NAME:-ect}" +PROJECT_ROOT="${ECT_PROJECT_ROOT:-/mnt/ect_project}" +URL="${ECT_EDM_CHECKPOINT_URL:-https://nvlabs-fi-cdn.nvidia.com/edm/pretrained/edm-cifar10-32x32-uncond-vp.pkl}" +OUTPUT="${ECT_TRANSFER_PATH:-${PROJECT_ROOT}/pretrained/edm-cifar10-32x32-uncond-vp.pkl}" +REPORT_PATH="${ECT_CHECKPOINT_REPORT:-${PROJECT_ROOT}/runs/day2/checkpoint.json}" +EXPECTED_SHA256="${ECT_EDM_CHECKPOINT_SHA256:-4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da}" +CHECK_ONLY=0 +FORCE=0 + +fail() { + printf '[download_checkpoint] ERROR: %s\n' "$*" >&2 + exit 1 +} + +run_python() { + if [[ "${CONDA_DEFAULT_ENV:-}" == "${ENV_NAME}" ]]; then + python "$@" + elif command -v conda >/dev/null 2>&1; then + conda run --no-capture-output -n "${ENV_NAME}" python "$@" + elif command -v mamba >/dev/null 2>&1; then + mamba run --no-capture-output -n "${ENV_NAME}" python "$@" + else + fail "activate '${ENV_NAME}' or install conda/mamba first" + fi +} + +usage() { + cat <<'EOF' +Usage: bash download_checkpoint.sh [options] + + --output PATH Destination checkpoint + --url URL Download URL + --sha256 HASH Optional expected SHA-256 + --check-only Verify without downloading + --force Replace the existing checkpoint + --report PATH Validation report (default: /mnt/ect_project/runs/day2/checkpoint.json) + -h, --help Show this help +EOF +} + +while [[ $# -gt 0 ]]; do + case "$1" in + --output) + [[ $# -ge 2 ]] || fail "--output requires a value" + OUTPUT="$2" + shift 2 + ;; + --url) + [[ $# -ge 2 ]] || fail "--url requires a value" + URL="$2" + shift 2 + ;; + --sha256) + [[ $# -ge 2 ]] || fail "--sha256 requires a value" + EXPECTED_SHA256="$2" + shift 2 + ;; + --check-only) + CHECK_ONLY=1 + shift + ;; + --force) + FORCE=1 + shift + ;; + --report) + [[ $# -ge 2 ]] || fail "--report requires a value" + REPORT_PATH="$2" + shift 2 + ;; + -h|--help) + usage + exit 0 + ;; + *) + fail "unknown option: $1" + ;; + esac +done + +VERIFY_ARGS=( + "${ROOT_DIR}/scripts/verify_assets.py" + checkpoint + --path "${OUTPUT}" + --expected-sha256 "${EXPECTED_SHA256}" + --output "${REPORT_PATH}" +) + +if [[ "${CHECK_ONLY}" -eq 1 ]]; then + run_python "${VERIFY_ARGS[@]}" + exit 0 +fi + +if [[ -f "${OUTPUT}" && "${FORCE}" -eq 0 ]]; then + printf '[download_checkpoint] Checkpoint already exists; verifying it: %s\n' "${OUTPUT}" + run_python "${VERIFY_ARGS[@]}" + exit 0 +fi + +mkdir -p "$(dirname "${OUTPUT}")" "$(dirname "${REPORT_PATH}")" +if [[ -e "${OUTPUT}" ]]; then + [[ "${FORCE}" -eq 1 ]] || fail "output already exists: ${OUTPUT}" + rm -f "${OUTPUT}" +fi + +PARTIAL="${OUTPUT}.part" +printf '[download_checkpoint] Downloading official EDM checkpoint...\n' +if command -v curl >/dev/null 2>&1; then + curl --fail --location --retry 3 --continue-at - --output "${PARTIAL}" "${URL}" +elif command -v wget >/dev/null 2>&1; then + wget --continue --tries=3 --output-document="${PARTIAL}" "${URL}" +else + fail "curl or wget is required" +fi +mv "${PARTIAL}" "${OUTPUT}" + +run_python "${VERIFY_ARGS[@]}" +printf '[download_checkpoint] Checkpoint ready: %s\n' "${OUTPUT}" diff --git a/prepare_data.sh b/prepare_data.sh new file mode 100755 index 00000000..7d9bf252 --- /dev/null +++ b/prepare_data.sh @@ -0,0 +1,147 @@ +#!/usr/bin/env bash + +# Download CIFAR-10, verify the official archive, and convert it to EDM ZIP format. + +set -Eeuo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ENV_NAME="${ECT_ENV_NAME:-ect}" +PROJECT_ROOT="${ECT_PROJECT_ROOT:-/mnt/ect_project}" +URL="${ECT_CIFAR10_URL:-https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz}" +TARBALL="${ECT_CIFAR10_TARBALL:-${PROJECT_ROOT}/datasets/cifar-10-python.tar.gz}" +OUTPUT="${ECT_DATA_PATH:-${PROJECT_ROOT}/datasets/cifar10-32x32.zip}" +REPORT_PATH="${ECT_DATA_REPORT:-${PROJECT_ROOT}/runs/day2/dataset.json}" +EXPECTED_MD5="c58f30108f718f92721af3b95e74349a" +CHECK_ONLY=0 +FORCE=0 + +fail() { + printf '[prepare_data] ERROR: %s\n' "$*" >&2 + exit 1 +} + +run_python() { + if [[ "${CONDA_DEFAULT_ENV:-}" == "${ENV_NAME}" ]]; then + python "$@" + elif command -v conda >/dev/null 2>&1; then + conda run --no-capture-output -n "${ENV_NAME}" python "$@" + elif command -v mamba >/dev/null 2>&1; then + mamba run --no-capture-output -n "${ENV_NAME}" python "$@" + else + fail "activate '${ENV_NAME}' or install conda/mamba first" + fi +} + +usage() { + cat <<'EOF' +Usage: bash prepare_data.sh [options] + + --output PATH Output dataset ZIP + --tarball PATH CIFAR-10 Python tarball (basename must stay unchanged) + --url URL Download URL + --check-only Verify the prepared dataset without downloading + --force Rebuild the output dataset + --report PATH Validation report (default: /mnt/ect_project/runs/day2/dataset.json) + -h, --help Show this help +EOF +} + +while [[ $# -gt 0 ]]; do + case "$1" in + --output) + [[ $# -ge 2 ]] || fail "--output requires a value" + OUTPUT="$2" + shift 2 + ;; + --tarball) + [[ $# -ge 2 ]] || fail "--tarball requires a value" + TARBALL="$2" + shift 2 + ;; + --url) + [[ $# -ge 2 ]] || fail "--url requires a value" + URL="$2" + shift 2 + ;; + --check-only) + CHECK_ONLY=1 + shift + ;; + --force) + FORCE=1 + shift + ;; + --report) + [[ $# -ge 2 ]] || fail "--report requires a value" + REPORT_PATH="$2" + shift 2 + ;; + -h|--help) + usage + exit 0 + ;; + *) + fail "unknown option: $1" + ;; + esac +done + +VERIFY_ARGS=( + "${ROOT_DIR}/scripts/verify_assets.py" + dataset + --path "${OUTPUT}" + --tarball "${TARBALL}" + --expected-md5 "${EXPECTED_MD5}" + --expected-count 50000 + --expected-labels 50000 + --expected-resolution 32 + --output "${REPORT_PATH}" +) + +if [[ "${CHECK_ONLY}" -eq 1 ]]; then + run_python "${VERIFY_ARGS[@]}" + exit 0 +fi + +if [[ -f "${OUTPUT}" && "${FORCE}" -eq 0 ]]; then + printf '[prepare_data] Dataset already exists; verifying it: %s\n' "${OUTPUT}" + run_python "${VERIFY_ARGS[@]}" + exit 0 +fi + +[[ "$(basename "${TARBALL}")" == "cifar-10-python.tar.gz" ]] || \ + fail "the tarball basename must be cifar-10-python.tar.gz for dataset_tool.py" +mkdir -p "$(dirname "${TARBALL}")" "$(dirname "${OUTPUT}")" "$(dirname "${REPORT_PATH}")" + +if [[ ! -f "${TARBALL}" ]]; then + printf '[prepare_data] Downloading CIFAR-10...\n' + PARTIAL="${TARBALL}.part" + if command -v curl >/dev/null 2>&1; then + curl --fail --location --retry 3 --continue-at - --output "${PARTIAL}" "${URL}" + elif command -v wget >/dev/null 2>&1; then + wget --continue --tries=3 --output-document="${PARTIAL}" "${URL}" + else + fail "curl or wget is required" + fi + mv "${PARTIAL}" "${TARBALL}" +fi + +if command -v md5sum >/dev/null 2>&1; then + ACTUAL_MD5="$(md5sum "${TARBALL}" | awk '{print $1}')" +elif command -v md5 >/dev/null 2>&1; then + ACTUAL_MD5="$(md5 -q "${TARBALL}")" +else + fail "md5sum or md5 is required for archive verification" +fi +[[ "${ACTUAL_MD5}" == "${EXPECTED_MD5}" ]] || \ + fail "CIFAR-10 MD5 mismatch: expected ${EXPECTED_MD5}, got ${ACTUAL_MD5}" + +if [[ -e "${OUTPUT}" ]]; then + [[ "${FORCE}" -eq 1 ]] || fail "output already exists: ${OUTPUT}" + rm -f "${OUTPUT}" +fi + +printf '[prepare_data] Converting CIFAR-10 to EDM format...\n' +run_python "${ROOT_DIR}/dataset_tool.py" --source "${TARBALL}" --dest "${OUTPUT}" +run_python "${VERIFY_ARGS[@]}" +printf '[prepare_data] Dataset ready: %s\n' "${OUTPUT}" diff --git a/scripts/check_environment.py b/scripts/check_environment.py new file mode 100755 index 00000000..4cd6dec9 --- /dev/null +++ b/scripts/check_environment.py @@ -0,0 +1,138 @@ +#!/usr/bin/env python3 +"""Validate the frozen Day 1 ECT runtime and report the observed environment.""" + +import argparse +import importlib +import importlib.metadata +import json +import platform +import subprocess +import sys +from pathlib import Path + + +# env.yml pins these packages directly. The Day 1 validated runtime additionally +# freezes huggingface-hub because newer API removals can break diffusers 0.26.3. +EXPECTED = { + "torch": "2.3.0", + "diffusers": "0.26.3", + "accelerate": "0.27.2", + "huggingface-hub": "0.23.4", +} +REQUIRED = [ + "numpy", + "scipy", + "Pillow", + "click", + "requests", + "psutil", + "tqdm", + "imageio", + "imageio-ffmpeg", + "pyspng", +] +IMPORTS = [ + "torch", + "numpy", + "scipy", + "PIL", + "click", + "requests", + "psutil", + "tqdm", + "imageio", + "pyspng", + "diffusers", + "accelerate", + "huggingface_hub", +] + + +def git_value(repo_root: Path, *args: str): + try: + return subprocess.check_output( + ["git", *args], cwd=repo_root, text=True, stderr=subprocess.DEVNULL + ).strip() + except (OSError, subprocess.CalledProcessError): + return None + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--allow-no-cuda", action="store_true") + parser.add_argument("--output", type=Path) + args = parser.parse_args() + + versions = {} + errors = [] + for package in [*EXPECTED, *REQUIRED]: + try: + actual = importlib.metadata.version(package) + except importlib.metadata.PackageNotFoundError: + errors.append(f"missing package: {package}") + continue + versions[package] = actual + expected = EXPECTED.get(package) + if expected is not None: + if package == "torch": + matches = actual.startswith(expected) + else: + matches = actual == expected + if not matches: + errors.append(f"{package}: expected {expected}, got {actual}") + + import_status = {} + for module in IMPORTS: + try: + importlib.import_module(module) + import_status[module] = "ok" + except Exception as exc: # Import compatibility matters, not just installation. + import_status[module] = f"failed: {type(exc).__name__}: {exc}" + errors.append(f"cannot import {module}: {type(exc).__name__}: {exc}") + + try: + import torch + except ImportError: + torch = None + + cuda_available = bool(torch and torch.cuda.is_available()) + if not args.allow_no_cuda and not cuda_available: + errors.append("CUDA is unavailable") + if sys.version_info[:3] != (3, 9, 18): + errors.append(f"expected Python 3.9.18, got {platform.python_version()}") + + repo_root = Path(__file__).resolve().parents[1] + status = git_value(repo_root, "status", "--porcelain=v1", "--untracked-files=all") + report = { + "git_commit": git_value(repo_root, "rev-parse", "HEAD"), + "git_branch": git_value(repo_root, "branch", "--show-current"), + "git_dirty": bool(status), + "python": platform.python_version(), + "platform": platform.platform(), + "packages": versions, + "imports": import_status, + "cuda": { + "available": cuda_available, + "runtime": torch.version.cuda if torch else None, + "device_count": torch.cuda.device_count() if cuda_available else 0, + "devices": [ + torch.cuda.get_device_name(index) + for index in range(torch.cuda.device_count()) + ] + if cuda_available + else [], + }, + "status": "passed" if not errors else "failed", + "errors": errors, + } + rendered = json.dumps(report, indent=2, sort_keys=True) + print(rendered) + if args.output: + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(rendered + "\n", encoding="utf-8") + if errors: + raise SystemExit("environment validation failed: " + "; ".join(errors)) + + +if __name__ == "__main__": + main() diff --git a/scripts/smoke_engineering_100steps.sh b/scripts/smoke_engineering_100steps.sh new file mode 100755 index 00000000..c219ca27 --- /dev/null +++ b/scripts/smoke_engineering_100steps.sh @@ -0,0 +1,295 @@ +#!/usr/bin/env bash + +# Engineering connectivity test only. This is not the official fixed ECT baseline. +# The old collaborator FP32 evidence did not validate FP16 or GradScaler. + +set -Eeuo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +PROJECT_ROOT="${ECT_PROJECT_ROOT:-/mnt/ect_project}" +ENV_NAME="${ECT_ENV_NAME:-ect}" +TARBALL="${ECT_CIFAR10_TARBALL:-${PROJECT_ROOT}/datasets/cifar-10-python.tar.gz}" +DATA_PATH="${ECT_DATA_PATH:-${PROJECT_ROOT}/datasets/cifar10-32x32.zip}" +TRANSFER_PATH="${ECT_TRANSFER_PATH:-${PROJECT_ROOT}/pretrained/edm-cifar10-32x32-uncond-vp.pkl}" +RUNS_ROOT="${ECT_RUNS_ROOT:-${PROJECT_ROOT}/runs}" +MODE="all" +ACTION="run" +NUM_GPUS=1 +BATCH_GPU="${ECT_SMOKE_BATCH_GPU:-2}" +FP16="${ECT_SMOKE_FP16:-True}" +ENABLE_AMP="${ECT_SMOKE_ENABLE_AMP:-True}" +PORT="${ECT_DDP_PORT:-29501}" +RUN_ROOT="" +ALLOW_DIRTY=0 + +fail() { + printf '[smoke_engineering_100steps] ERROR: %s\n' "$*" >&2 + exit 1 +} + +run_in_env() { + if [[ "${CONDA_DEFAULT_ENV:-}" == "${ENV_NAME}" ]]; then + "$@" + elif command -v conda >/dev/null 2>&1; then + conda run --no-capture-output -n "${ENV_NAME}" "$@" + elif command -v mamba >/dev/null 2>&1; then + mamba run --no-capture-output -n "${ENV_NAME}" "$@" + else + fail "activate '${ENV_NAME}' or install conda/mamba first" + fi +} + +normalize_bool() { + case "${1,,}" in + true|1|yes) printf 'True\n' ;; + false|0|no) printf 'False\n' ;; + *) fail "expected a boolean value, got: $1" ;; + esac +} + +usage() { + cat <<'EOF' +Usage: bash scripts/smoke_engineering_100steps.sh [options] + +This script is an engineering connectivity test, not the official ECT baseline. +Its training mode runs 100 fresh optimizer updates and optionally 100 resumed +updates with formal FID/KID disabled. No training is performed by --check-only +or --dry-run. + + --mode MODE fresh, resume, or all (default: all) + --gpus N GPUs used by torchrun (default: 1; must divide batch 10) + --port PORT Local DDP rendezvous port (default: 29501) + --tarball PATH Official CIFAR-10 source tarball + --data PATH Prepared CIFAR-10 EDM ZIP + --transfer PATH Official EDM transfer checkpoint + --run-root PATH Persistent output root + --batch-gpu N Microbatch per GPU (default: 2) + --fp16 BOOL Network FP16 mode (default: True) + --enable-amp BOOL Public-baseline --enable_amp value (default: True) + --check-only Validate environment and assets; do not launch ct_train.py + --dry-run Validate assets and run ct_train.py --dry_run only + --allow-dirty Permit an actual training smoke from a dirty worktree + -h, --help Show this help + +Default persistent layout: + /mnt/ect_project/datasets + /mnt/ect_project/pretrained + /mnt/ect_project/runs + /mnt/ect_project/checkpoints + +The public baseline also accepts --amp and --enable_gradscaler as aliases of +--enable_amp. This script uses the canonical --enable_amp spelling. +EOF +} + +while [[ $# -gt 0 ]]; do + case "$1" in + --mode) + [[ $# -ge 2 ]] || fail "--mode requires a value" + MODE="$2" + shift 2 + ;; + --gpus) + [[ $# -ge 2 ]] || fail "--gpus requires a value" + NUM_GPUS="$2" + shift 2 + ;; + --port) + [[ $# -ge 2 ]] || fail "--port requires a value" + PORT="$2" + shift 2 + ;; + --tarball) + [[ $# -ge 2 ]] || fail "--tarball requires a value" + TARBALL="$2" + shift 2 + ;; + --data) + [[ $# -ge 2 ]] || fail "--data requires a value" + DATA_PATH="$2" + shift 2 + ;; + --transfer) + [[ $# -ge 2 ]] || fail "--transfer requires a value" + TRANSFER_PATH="$2" + shift 2 + ;; + --run-root) + [[ $# -ge 2 ]] || fail "--run-root requires a value" + RUN_ROOT="$2" + shift 2 + ;; + --batch-gpu) + [[ $# -ge 2 ]] || fail "--batch-gpu requires a value" + BATCH_GPU="$2" + shift 2 + ;; + --fp16) + [[ $# -ge 2 ]] || fail "--fp16 requires a value" + FP16="$2" + shift 2 + ;; + --enable-amp) + [[ $# -ge 2 ]] || fail "--enable-amp requires a value" + ENABLE_AMP="$2" + shift 2 + ;; + --check-only) + ACTION="check" + shift + ;; + --dry-run) + ACTION="dry-run" + shift + ;; + --allow-dirty) + ALLOW_DIRTY=1 + shift + ;; + -h|--help) + usage + exit 0 + ;; + *) + fail "unknown option: $1" + ;; + esac +done + +[[ "${MODE}" == "fresh" || "${MODE}" == "resume" || "${MODE}" == "all" ]] || \ + fail "--mode must be fresh, resume, or all" +[[ "${NUM_GPUS}" =~ ^[0-9]+$ && "${NUM_GPUS}" -gt 0 ]] || fail "--gpus must be positive" +(( 10 % NUM_GPUS == 0 )) || fail "--gpus must divide the total batch size 10" +[[ "${BATCH_GPU}" =~ ^[0-9]+$ && "${BATCH_GPU}" -gt 0 ]] || fail "--batch-gpu must be positive" +(( (10 / NUM_GPUS) % BATCH_GPU == 0 )) || \ + fail "--batch-gpu must divide the per-GPU batch $((10 / NUM_GPUS))" +FP16="$(normalize_bool "${FP16}")" +ENABLE_AMP="$(normalize_bool "${ENABLE_AMP}")" + +cd "${ROOT_DIR}" + +verify_prerequisites() { + run_in_env python "${ROOT_DIR}/scripts/check_environment.py" + run_in_env python "${ROOT_DIR}/scripts/verify_assets.py" dataset \ + --path "${DATA_PATH}" \ + --tarball "${TARBALL}" \ + --expected-count 50000 \ + --expected-labels 50000 \ + --expected-resolution 32 + run_in_env python "${ROOT_DIR}/scripts/verify_assets.py" checkpoint \ + --path "${TRANSFER_PATH}" \ + --expected-sha256 4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da +} + +verify_prerequisites +if [[ "${ACTION}" == "check" ]]; then + printf '[smoke_engineering_100steps] CHECK-ONLY PASSED; no training was launched.\n' + exit 0 +fi + +COMMON_ARGS=( + --data="${DATA_PATH}" + --cond=False + --arch=ddpmpp + --metrics=none + --batch=10 + --batch-gpu="${BATCH_GPU}" + --lr=0.0001 + --optim=RAdam + --dropout=0.2 + --augment=0.0 + --seed=2026 + --workers=1 + --cache=False + --tick=1 + --snap=1 + --dump=1 + --ckpt=1 + --double=250 + --sample_every=1000 + --eval_every=1000 + --fp16="${FP16}" + --enable_amp="${ENABLE_AMP}" + --tf32=False + --bench=True + --nosubdir +) + +launch_training() { + run_in_env torchrun \ + --nnodes=1 \ + --nproc_per_node="${NUM_GPUS}" \ + --rdzv_backend=c10d \ + --rdzv_endpoint="localhost:${PORT}" \ + "${ROOT_DIR}/ct_train.py" "$@" +} + +if [[ "${ACTION}" == "dry-run" ]]; then + DRY_RUN_ROOT="${RUN_ROOT:-${RUNS_ROOT}/engineering-smoke/dry-run}" + launch_training \ + --outdir="${DRY_RUN_ROOT}" \ + --duration=0.001 \ + --transfer="${TRANSFER_PATH}" \ + --desc=engineering-dry-run \ + --dry_run \ + "${COMMON_ARGS[@]}" + printf '[smoke_engineering_100steps] DRY-RUN PASSED; no output directory or training run was created.\n' + exit 0 +fi + +GIT_COMMIT="$(git rev-parse HEAD)" +if [[ "${ALLOW_DIRTY}" -eq 0 ]] && [[ -n "$(git status --porcelain)" ]]; then + fail "actual smoke training requires a clean worktree; use --allow-dirty only for preliminary work" +fi +if [[ -z "${RUN_ROOT}" ]]; then + [[ "${MODE}" != "resume" ]] || fail "--run-root is required with --mode resume" + RUN_ROOT="${RUNS_ROOT}/engineering-smoke/${GIT_COMMIT:0:8}-$(date -u +%Y%m%dT%H%M%SZ)" +fi +FRESH_DIR="${RUN_ROOT}/fresh-100steps" +RESUME_DIR="${RUN_ROOT}/resume-100steps" +mkdir -p "${RUN_ROOT}" + +run_in_env python "${ROOT_DIR}/scripts/check_environment.py" \ + --output "${RUN_ROOT}/environment.json" + +if [[ "${MODE}" == "fresh" || "${MODE}" == "all" ]]; then + [[ ! -e "${FRESH_DIR}" ]] || fail "fresh run directory already exists: ${FRESH_DIR}" + printf '[smoke_engineering_100steps] Fresh engineering phase: steps=100, formal_metrics=disabled\n' + launch_training \ + --outdir="${FRESH_DIR}" \ + --duration=0.001 \ + --transfer="${TRANSFER_PATH}" \ + --desc=engineering-fresh-100steps \ + "${COMMON_ARGS[@]}" +fi + +if [[ "${MODE}" == "resume" || "${MODE}" == "all" ]]; then + STATE_PATH="${FRESH_DIR}/training-state-000001.pt" + SNAPSHOT_PATH="${FRESH_DIR}/network-snapshot-000001.pkl" + [[ -f "${STATE_PATH}" ]] || fail "fresh training state not found: ${STATE_PATH}" + [[ -f "${SNAPSHOT_PATH}" ]] || fail "matching fresh snapshot not found: ${SNAPSHOT_PATH}" + [[ ! -e "${RESUME_DIR}" ]] || fail "resume run directory already exists: ${RESUME_DIR}" + printf '[smoke_engineering_100steps] Resume engineering phase: additional_steps=100, formal_metrics=disabled\n' + launch_training \ + --outdir="${RESUME_DIR}" \ + --duration=0.002 \ + --resume="${STATE_PATH}" \ + --desc=engineering-resume-100steps \ + "${COMMON_ARGS[@]}" +fi + +VERIFY_ARGS=( + "${ROOT_DIR}/scripts/verify_smoke_run.py" + --fresh "${FRESH_DIR}" + --git-commit "${GIT_COMMIT}" + --expected-batch 10 + --expected-fp16 "${FP16}" + --expected-amp "${ENABLE_AMP}" + --output "${RUN_ROOT}/smoke_report.json" +) +if [[ "${MODE}" == "resume" || "${MODE}" == "all" ]]; then + VERIFY_ARGS+=(--resume "${RESUME_DIR}") +fi +run_in_env python "${VERIFY_ARGS[@]}" + +printf '[smoke_engineering_100steps] PASSED. Engineering-only result root: %s\n' "${RUN_ROOT}" diff --git a/scripts/verify_assets.py b/scripts/verify_assets.py new file mode 100755 index 00000000..7596872a --- /dev/null +++ b/scripts/verify_assets.py @@ -0,0 +1,221 @@ +#!/usr/bin/env python3 +"""Verify ECT datasets and transfer checkpoints without changing the assets.""" + +import argparse +import hashlib +import io +import json +import sys +import zipfile +from pathlib import Path + +import numpy as np +from PIL import Image + + +REPO_ROOT = Path(__file__).resolve().parents[1] +if str(REPO_ROOT) not in sys.path: + sys.path.insert(0, str(REPO_ROOT)) + +OFFICIAL_CIFAR10_MD5 = "c58f30108f718f92721af3b95e74349a" + + +def digest(path: Path, algorithm: str) -> str: + value = hashlib.new(algorithm) + with path.open("rb") as handle: + for chunk in iter(lambda: handle.read(8 * 1024 * 1024), b""): + value.update(chunk) + return value.hexdigest() + + +def verify_tarball(path: Path, expected_md5: str) -> dict: + if not path.is_file(): + raise ValueError(f"source tarball not found: {path}") + actual_md5 = digest(path, "md5") + if actual_md5.lower() != expected_md5.lower(): + raise ValueError( + f"CIFAR-10 tarball MD5 mismatch: expected {expected_md5}, got {actual_md5}" + ) + return { + "path": str(path.resolve()), + "bytes": path.stat().st_size, + "md5": actual_md5, + "expected_md5": expected_md5.lower(), + "md5_ok": True, + } + + +def verify_dataset( + path: Path, + tarball: Path, + expected_md5: str, + expected_count: int, + expected_labels: int, + expected_resolution: int, +) -> dict: + """Validate archive integrity, every image header, labels, and project loading.""" + if not path.is_file(): + raise ValueError(f"dataset not found: {path}") + + source = verify_tarball(tarball, expected_md5) + sample_names = [] + try: + with zipfile.ZipFile(path, "r") as archive: + corrupt = archive.testzip() + if corrupt is not None: + raise ValueError(f"ZIP CRC failure: {corrupt}") + + names = archive.namelist() + images = sorted(name for name in names if name.lower().endswith(".png")) + if len(images) != expected_count: + raise ValueError(f"expected {expected_count} PNGs, found {len(images)}") + if "dataset.json" not in names: + raise ValueError("dataset.json is missing") + + metadata = json.loads(archive.read("dataset.json")) + labels = metadata.get("labels") + if not isinstance(labels, list): + raise ValueError("dataset.json must contain a labels list") + if len(labels) != expected_labels: + raise ValueError( + f"expected {expected_labels} labels, found {len(labels)}" + ) + label_names = [entry[0] for entry in labels if isinstance(entry, list) and len(entry) == 2] + if len(label_names) != expected_labels: + raise ValueError("every label must be a [filename, class] pair") + if sorted(label_names) != images: + raise ValueError("dataset labels do not map one-to-one to the PNG entries") + + expected_size = (expected_resolution, expected_resolution) + for image_name in images: + with Image.open(io.BytesIO(archive.read(image_name))) as image: + if image.size != expected_size: + raise ValueError( + f"{image_name} is {image.size}, expected {expected_size}" + ) + if image.mode != "RGB": + raise ValueError(f"{image_name} is {image.mode}, expected RGB") + + sample_names = [images[0], images[len(images) // 2], images[-1]] + except (OSError, ValueError, json.JSONDecodeError, zipfile.BadZipFile) as exc: + raise ValueError(f"dataset archive verification failed: {exc}") from exc + + # Import only after archive checks so failures clearly identify the project loader stage. + from training.dataset import ImageFolderDataset + + dataset = ImageFolderDataset(path=str(path), use_labels=True) + try: + if len(dataset) != expected_count: + raise ValueError( + f"ImageFolderDataset length is {len(dataset)}, expected {expected_count}" + ) + if not dataset.has_labels: + raise ValueError("ImageFolderDataset did not expose class labels") + + loader_samples = [] + for index in (0, len(dataset) // 2, len(dataset) - 1): + image, label = dataset[index] + if image.shape != (3, expected_resolution, expected_resolution): + raise ValueError(f"dataset sample {index} has shape {image.shape}") + if image.dtype != np.uint8: + raise ValueError(f"dataset sample {index} has dtype {image.dtype}") + loader_samples.append( + { + "index": index, + "shape": list(image.shape), + "dtype": str(image.dtype), + "label_shape": list(label.shape), + } + ) + finally: + dataset.close() + + return { + "type": "dataset", + "path": str(path.resolve()), + "bytes": path.stat().st_size, + "sha256": digest(path, "sha256"), + "sha256_policy": "record_only_not_a_unique_content_requirement", + "source_tarball": source, + "zip_crc_ok": True, + "images": expected_count, + "labels": expected_labels, + "resolution": [expected_resolution, expected_resolution], + "color_mode": "RGB", + "archive_samples": sample_names, + "imagefolderdataset": { + "length": expected_count, + "has_labels": True, + "samples": loader_samples, + }, + } + + +def verify_checkpoint(path: Path, expected_sha256: str) -> dict: + if not path.is_file(): + raise ValueError(f"checkpoint not found: {path}") + size = path.stat().st_size + if size < 10 * 1024 * 1024: + raise ValueError(f"checkpoint is unexpectedly small: {size} bytes") + with path.open("rb") as handle: + prefix = handle.read(2) + if not prefix.startswith(b"\x80"): + raise ValueError("checkpoint does not look like a binary pickle") + actual_sha256 = digest(path, "sha256") + if expected_sha256 and actual_sha256.lower() != expected_sha256.lower(): + raise ValueError( + f"checkpoint SHA-256 mismatch: expected {expected_sha256}, got {actual_sha256}" + ) + return { + "type": "checkpoint", + "path": str(path.resolve()), + "bytes": size, + "sha256": actual_sha256, + "expected_sha256": expected_sha256.lower() if expected_sha256 else None, + } + + +def main() -> None: + parser = argparse.ArgumentParser() + subparsers = parser.add_subparsers(dest="asset_type", required=True) + + dataset_parser = subparsers.add_parser("dataset") + dataset_parser.add_argument("--path", type=Path, required=True) + dataset_parser.add_argument("--tarball", type=Path, required=True) + dataset_parser.add_argument("--expected-md5", default=OFFICIAL_CIFAR10_MD5) + dataset_parser.add_argument("--expected-count", type=int, default=50000) + dataset_parser.add_argument("--expected-labels", type=int, default=50000) + dataset_parser.add_argument("--expected-resolution", type=int, default=32) + dataset_parser.add_argument("--output", type=Path) + + checkpoint_parser = subparsers.add_parser("checkpoint") + checkpoint_parser.add_argument("--path", type=Path, required=True) + checkpoint_parser.add_argument("--expected-sha256", default="") + checkpoint_parser.add_argument("--output", type=Path) + args = parser.parse_args() + + try: + if args.asset_type == "dataset": + report = verify_dataset( + args.path, + args.tarball, + args.expected_md5, + args.expected_count, + args.expected_labels, + args.expected_resolution, + ) + else: + report = verify_checkpoint(args.path, args.expected_sha256) + except ValueError as exc: + raise SystemExit(f"asset verification failed: {exc}") from exc + + report["status"] = "passed" + rendered = json.dumps(report, indent=2, sort_keys=True) + print(rendered) + if args.output: + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(rendered + "\n", encoding="utf-8") + + +if __name__ == "__main__": + main() diff --git a/scripts/verify_smoke_run.py b/scripts/verify_smoke_run.py new file mode 100755 index 00000000..afe55015 --- /dev/null +++ b/scripts/verify_smoke_run.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python3 +"""Verify outputs from the engineering-only fresh/resume connectivity test.""" + +import argparse +import json +from pathlib import Path + + +REQUIRED_FILES = [ + "training_options.json", + "log.txt", + "stats.jsonl", + "network-snapshot-latest.pkl", + "training-state-latest.pt", + "final.png", +] + + +def parse_bool(value): + normalized = value.lower() + if normalized in {"true", "1", "yes"}: + return True + if normalized in {"false", "0", "no"}: + return False + raise argparse.ArgumentTypeError(f"expected a boolean, got {value}") + + +def inspect_run( + path: Path, + expected_kimg: int, + resumed: bool, + expected_batch: int, + expected_fp16: bool, + expected_amp: bool, +): + missing = [name for name in REQUIRED_FILES if not (path / name).is_file()] + if missing: + raise SystemExit(f"{path} is missing: {', '.join(missing)}") + + numbered_snapshots = sorted(path.glob("network-snapshot-[0-9][0-9][0-9][0-9][0-9][0-9].pkl")) + numbered_states = sorted(path.glob("training-state-[0-9][0-9][0-9][0-9][0-9][0-9].pt")) + if not numbered_snapshots or not numbered_states: + raise SystemExit(f"{path} has no numbered snapshot/state pair") + + options = json.loads((path / "training_options.json").read_text(encoding="utf-8")) + if options.get("total_kimg") != expected_kimg: + raise SystemExit( + f"{path}: expected total_kimg={expected_kimg}, got {options.get('total_kimg')}" + ) + if options.get("batch_size") != expected_batch: + raise SystemExit(f"{path}: expected batch_size={expected_batch}") + if options.get("metrics") != []: + raise SystemExit(f"{path}: smoke test must disable formal metrics") + actual_fp16 = options.get("network_kwargs", {}).get("use_fp16") + if actual_fp16 is not expected_fp16: + raise SystemExit( + f"{path}: expected network FP16={expected_fp16}, got {actual_fp16}" + ) + actual_amp = options.get("enable_amp") + if actual_amp is not expected_amp: + raise SystemExit(f"{path}: expected enable_amp={expected_amp}, got {actual_amp}") + + log_text = (path / "log.txt").read_text(encoding="utf-8", errors="replace") + if "Exiting..." not in log_text: + raise SystemExit(f"{path}: training did not exit cleanly") + if resumed and "Loading training state from" not in log_text: + raise SystemExit(f"{path}: resume state was not loaded") + + stats_lines = [ + line + for line in (path / "stats.jsonl").read_text(encoding="utf-8").splitlines() + if line.strip() + ] + if not stats_lines: + raise SystemExit(f"{path}: stats.jsonl is empty") + last_stats = json.loads(stats_lines[-1]) + last_progress = last_stats.get("Progress/kimg", {}).get("mean") + if last_progress is None or float(last_progress) < expected_kimg: + raise SystemExit( + f"{path}: expected progress >= {expected_kimg} kimg, got {last_progress}" + ) + + return { + "path": str(path.resolve()), + "resumed": resumed, + "total_kimg": expected_kimg, + "batch_size": expected_batch, + "fp16": actual_fp16, + "gradscaler": actual_amp, + "formal_metrics": False, + "last_progress_kimg": last_progress, + "numbered_snapshots": [item.name for item in numbered_snapshots], + "numbered_states": [item.name for item in numbered_states], + "latest_snapshot_bytes": (path / "network-snapshot-latest.pkl").stat().st_size, + "latest_state_bytes": (path / "training-state-latest.pt").stat().st_size, + } + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--fresh", type=Path, required=True) + parser.add_argument("--resume", type=Path) + parser.add_argument("--git-commit", required=True) + parser.add_argument("--expected-batch", type=int, default=10) + parser.add_argument("--expected-fp16", type=parse_bool, default=True) + parser.add_argument("--expected-amp", type=parse_bool, default=True) + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args() + + common = { + "expected_batch": args.expected_batch, + "expected_fp16": args.expected_fp16, + "expected_amp": args.expected_amp, + } + runs = [inspect_run(args.fresh, expected_kimg=1, resumed=False, **common)] + if args.resume: + runs.append(inspect_run(args.resume, expected_kimg=2, resumed=True, **common)) + + report = { + "status": "passed", + "test_kind": "engineering_connectivity_only", + "official_ect_baseline": False, + "legacy_fp32_evidence_validates_gradscaler": False, + "git_commit": args.git_commit, + "smoke_steps_per_phase": 100, + "runs": runs, + } + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text( + json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8" + ) + print(json.dumps(report, indent=2, sort_keys=True)) + + +if __name__ == "__main__": + main() diff --git a/setup_env.sh b/setup_env.sh new file mode 100755 index 00000000..36a17325 --- /dev/null +++ b/setup_env.sh @@ -0,0 +1,127 @@ +#!/usr/bin/env bash + +# Set up the identical Conda runtime and directory layout in each MatrixCloud container. + +set -Eeuo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ENV_NAME="${ECT_ENV_NAME:-ect}" +CONDA_CONFIG="${ECT_CONDA_CONFIG:-${ROOT_DIR}/conda-matpool.yml}" +PROJECT_ROOT="${ECT_PROJECT_ROOT:-/mnt/ect_project}" +REPORT_PATH="${ECT_ENV_REPORT:-${PROJECT_ROOT}/runs/day2/environment.json}" +MANAGER="" +UPDATE=0 +CHECK_ONLY=0 +ALLOW_NO_CUDA=0 + +fail() { + printf '[setup_env] ERROR: %s\n' "$*" >&2 + exit 1 +} + +usage() { + cat <<'EOF' +Usage: bash setup_env.sh [options] + + --name NAME Environment name (default: ect) + --manager CMD conda or mamba (default: auto-detect) + --update Reconcile an existing environment with env.yml + --check-only Only validate the existing environment + --allow-no-cuda Do not fail when the current machine has no visible GPU + --report PATH Environment report (default: /mnt/ect_project/runs/day2/environment.json) + -h, --help Show this help +EOF +} + +while [[ $# -gt 0 ]]; do + case "$1" in + --name) + [[ $# -ge 2 ]] || fail "--name requires a value" + ENV_NAME="$2" + shift 2 + ;; + --manager) + [[ $# -ge 2 ]] || fail "--manager requires a value" + MANAGER="$2" + shift 2 + ;; + --update) + UPDATE=1 + shift + ;; + --check-only) + CHECK_ONLY=1 + shift + ;; + --allow-no-cuda) + ALLOW_NO_CUDA=1 + shift + ;; + --report) + [[ $# -ge 2 ]] || fail "--report requires a value" + REPORT_PATH="$2" + shift 2 + ;; + -h|--help) + usage + exit 0 + ;; + *) + fail "unknown option: $1" + ;; + esac +done + +if [[ -z "${MANAGER}" ]]; then + if command -v conda >/dev/null 2>&1; then + MANAGER="conda" + elif command -v mamba >/dev/null 2>&1; then + MANAGER="mamba" + else + fail "conda or mamba was not found" + fi +fi +command -v "${MANAGER}" >/dev/null 2>&1 || fail "cannot find ${MANAGER}" +[[ -f "${CONDA_CONFIG}" ]] || fail "Conda configuration not found: ${CONDA_CONFIG}" + +run_manager() { + CONDARC="${CONDA_CONFIG}" "${MANAGER}" "$@" +} + +mkdir -p \ + "${PROJECT_ROOT}/datasets" \ + "${PROJECT_ROOT}/pretrained" \ + "${PROJECT_ROOT}/runs" \ + "${PROJECT_ROOT}/checkpoints" \ + "${PROJECT_ROOT}/cache" \ + "$(dirname "${REPORT_PATH}")" + +ENV_EXISTS=0 +if run_manager run -n "${ENV_NAME}" python --version >/dev/null 2>&1; then + ENV_EXISTS=1 +fi + +if [[ "${CHECK_ONLY}" -eq 0 ]]; then + if [[ "${ENV_EXISTS}" -eq 0 ]]; then + printf '[setup_env] Creating environment %s...\n' "${ENV_NAME}" + run_manager env create --name "${ENV_NAME}" --file "${ROOT_DIR}/env.yml" + elif [[ "${UPDATE}" -eq 1 ]]; then + printf '[setup_env] Updating environment %s...\n' "${ENV_NAME}" + run_manager env update --name "${ENV_NAME}" --file "${ROOT_DIR}/env.yml" --prune + else + printf '[setup_env] Environment %s already exists; validating it unchanged.\n' "${ENV_NAME}" + fi +elif [[ "${ENV_EXISTS}" -eq 0 ]]; then + fail "environment '${ENV_NAME}' does not exist" +fi + +CHECK_ARGS=( + "${ROOT_DIR}/scripts/check_environment.py" + --output "${REPORT_PATH}" +) +if [[ "${ALLOW_NO_CUDA}" -eq 1 ]]; then + CHECK_ARGS+=(--allow-no-cuda) +fi + +run_manager run --no-capture-output -n "${ENV_NAME}" python "${CHECK_ARGS[@]}" +printf '[setup_env] Environment is ready. Activate it with: %s activate %s\n' "${MANAGER}" "${ENV_NAME}" From 57cef9cc9c4a9b1d29602e52b47b1e032bcf48a2 Mon Sep 17 00:00:00 2001 From: w10800 <1793719632@qq.com> Date: Wed, 15 Jul 2026 16:54:17 +0800 Subject: [PATCH 05/60] Validate Role A clean-container workflow --- artifacts/day3/role_a_environment.json | 39 +++++++++++ artifacts/day3/role_a_smoke_report.json | 61 +++++++++++++++++ docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md | 82 +++++++++++++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 artifacts/day3/role_a_environment.json create mode 100644 artifacts/day3/role_a_smoke_report.json create mode 100644 docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md diff --git a/artifacts/day3/role_a_environment.json b/artifacts/day3/role_a_environment.json new file mode 100644 index 00000000..029a4705 --- /dev/null +++ b/artifacts/day3/role_a_environment.json @@ -0,0 +1,39 @@ +{ + "schema_version": 1, + "git_commit": "7c638a4d1f293222ec9eb8ad86cffc03fdcb7282", + "branch": "role-a/clean-container-validation", + "git_dirty": false, + "gpu": { + "name": "NVIDIA A100-PCIE-40GB", + "count": 1, + "memory_mib": 40960 + }, + "python": "3.9.18", + "pytorch": "2.3.0", + "cuda": "12.1", + "environment_validation": "passed", + "package_versions": { + "accelerate": "0.27.2", + "diffusers": "0.26.3", + "huggingface-hub": "0.23.4", + "numpy": "1.26.4", + "scipy": "1.12.0", + "torch": "2.3.0" + }, + "dataset_path": "/mnt/ect_project/datasets/cifar10-32x32.zip", + "dataset_validation": { + "status": "passed", + "images": 50000, + "labels": 50000, + "resolution": [32, 32], + "color_mode": "RGB", + "zip_crc_ok": true, + "sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "source_tarball_md5": "c58f30108f718f92721af3b95e74349a" + }, + "checkpoint_path": "/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl", + "checkpoint_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "checkpoint_validation": "passed", + "environment_adjustment": "The pre-existing ect environment had huggingface-hub 0.20.3 from the superseded branch. It was upgraded to the main-branch-required 0.23.4 before the final setup_env.sh validation.", + "final_status": "passed" +} diff --git a/artifacts/day3/role_a_smoke_report.json b/artifacts/day3/role_a_smoke_report.json new file mode 100644 index 00000000..0dc175c8 --- /dev/null +++ b/artifacts/day3/role_a_smoke_report.json @@ -0,0 +1,61 @@ +{ + "schema_version": 1, + "test_kind": "engineering_connectivity_only", + "official_ect_baseline": false, + "git_commit": "7c638a4d1f293222ec9eb8ad86cffc03fdcb7282", + "branch": "role-a/clean-container-validation", + "gpu": "NVIDIA A100-PCIE-40GB", + "python": "3.9.18", + "pytorch": "2.3.0", + "cuda": "12.1", + "dataset_path": "/mnt/ect_project/datasets/cifar10-32x32.zip", + "dataset_validation": "passed", + "checkpoint_path": "/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl", + "checkpoint_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "check_only": "passed", + "dry_run": "passed", + "fresh_updates": 100, + "resume_updates": 100, + "fresh_progress_kimg": 1.0, + "resume_progress_kimg": 2.0, + "fp16": true, + "amp_enabled": true, + "metrics": [], + "formal_metrics_called": false, + "gradscaler_saved": true, + "gradscaler_restored": true, + "gradscaler_state": { + "fresh": { + "scale": 8192.0, + "growth_tracker": 31 + }, + "resume": { + "scale": 8192.0, + "growth_tracker": 131 + }, + "resume_growth_tracker_increment": 100 + }, + "loss_finite": true, + "loss_means": { + "fresh": [11.838935947418213, 17.023774967267357], + "resume": [16.92818015435338] + }, + "wall_time_seconds": 180, + "peak_vram_mib": 5563, + "peak_reserved_vram_mib": 5616, + "run_directory": "/mnt/ect_project/runs/engineering-smoke/7c638a4d-20260715T083443Z", + "fresh_snapshot": "fresh-100steps/network-snapshot-000001.pkl", + "fresh_training_state": "fresh-100steps/training-state-000001.pt", + "resume_snapshot": "resume-100steps/network-snapshot-000001.pkl", + "resume_training_state": "resume-100steps/training-state-000001.pt", + "all_outputs_persistent": true, + "observations": [ + "Fresh and resume stats.jsonl contain only finite Loss/loss means.", + "The console prints a NaN before training_stats.default_collector.update() at the initialization and resume-final maintenance points; this is a reporting-order artifact, not a non-finite recorded training loss.", + "The resume log explicitly records loading GradScaler state from the fresh training state." + ], + "unresolved_issues": [ + "env.yml does not explicitly pin huggingface-hub==0.23.4 even though scripts/check_environment.py enforces that exact version." + ], + "final_status": "passed" +} diff --git a/docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md b/docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md new file mode 100644 index 00000000..fb73193b --- /dev/null +++ b/docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md @@ -0,0 +1,82 @@ +# Role A clean-container validation + +## Result + +Role A engineering validation passed on one MatPool A100 container from the frozen integration baseline: + +- branch: `role-a/clean-container-validation` +- commit: `7c638a4d1f293222ec9eb8ad86cffc03fdcb7282` +- GPU: NVIDIA A100-PCIE-40GB +- Python/PyTorch/CUDA: 3.9.18 / 2.3.0 / 12.1 +- persistent project root: `/mnt/ect_project` +- final run: `/mnt/ect_project/runs/engineering-smoke/7c638a4d-20260715T083443Z` + +This is an engineering connectivity test only. It is not the official fixed ECT baseline and it did not run FID or KID. + +## Commands actually run + +After checking out the required commit and creating the role branch, the following validation commands were run: + +```bash +bash setup_env.sh +bash prepare_data.sh --check-only +bash download_checkpoint.sh --check-only +bash scripts/smoke_engineering_100steps.sh --check-only +bash scripts/smoke_engineering_100steps.sh --dry-run --port 29521 +bash scripts/smoke_engineering_100steps.sh --port 29521 +``` + +The container already contained an `ect` environment prepared against a superseded branch. The first `setup_env.sh` invocation correctly rejected `huggingface-hub 0.20.3`; it was reconciled to the required version and the exact setup command was rerun: + +```bash +python -m pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple huggingface-hub==0.23.4 +bash setup_env.sh +``` + +The second invocation passed with a clean Git worktree. No training-code file was changed. + +## Asset validation + +The default persistent paths were used: + +- dataset: `/mnt/ect_project/datasets/cifar10-32x32.zip` +- source tarball: `/mnt/ect_project/datasets/cifar-10-python.tar.gz` +- transfer checkpoint: `/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl` + +Dataset validation passed for 50,000 RGB images, 50,000 labels, 32×32 resolution, valid ZIP CRC, and the official CIFAR-10 source MD5. The official EDM checkpoint SHA-256 matched `4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da`. + +## Smoke results + +| Check | Result | +| --- | --- | +| check-only | PASS | +| dry-run | PASS | +| Fresh optimizer updates | 100, PASS | +| Resume optimizer updates | 100 additional, PASS | +| Progress | 1.0 kimg → 2.0 kimg | +| FP16 / AMP | enabled / enabled | +| GradScaler saved | yes | +| GradScaler restored | yes; explicit restore message in resume log | +| Formal metrics | disabled (`metrics=[]`) | +| Wall time | 180 seconds | +| Peak allocated VRAM | 5,563 MiB | +| Peak reserved VRAM | 5,616 MiB | + +Both phases generated a numbered network snapshot and training state. Both training-state files contain `gradscaler_state`. The Fresh scaler state ended with scale 8192 and growth tracker 31; after resume it retained scale 8192 and reached growth tracker 131, an increment of exactly 100. + +## Loss finiteness check + +All recorded `Loss/loss` means in `stats.jsonl` are finite: + +- Fresh: 11.8389359474 and 17.0237749673 +- Resume: 16.9281801544 + +The console has `loss nan` at the initialization maintenance point and the resume-final maintenance point. In `training/ct_training_loop.py`, the status line reads the default collector before `default_collector.update()` is called, so a new process can print an empty collector even though the subsequently written statistics are finite. This is a reporting-order observation; no core training file was changed. + +## Storage and Git hygiene + +All datasets, checkpoints, training states, complete logs, and generated images remain under `/mnt/ect_project`. Git contains only the two compact Day 3 JSON summaries and this document. No FID-50k job was launched and no large file is included in the branch. + +## Follow-up observation + +`scripts/check_environment.py` requires exactly `huggingface-hub==0.23.4`, while `env.yml` currently leaves that transitive dependency unpinned. A newly resolved environment could therefore install a different version and fail validation. This should be resolved by the integration owner before declaring the environment specification permanently frozen. From 892e4978ccd5b4e7b9c7f98c61d3b1658d20b7df Mon Sep 17 00:00:00 2001 From: edwards365 Date: Wed, 15 Jul 2026 17:05:43 +0800 Subject: [PATCH 06/60] Add reproducible fixed-seed evaluation workflow --- README.md | 21 +++ ct_eval.py | 13 +- .../preliminary_seed42_fp32_8ksteps/README.md | 16 ++ .../checkpoint.txt | 1 + .../final_metrics_summary.csv | 3 + .../metadata.json | 18 ++ .../sample_seed42_nfe1.png | Bin 0 -> 571147 bytes .../sample_seed42_nfe2_mid0821.png | Bin 0 -> 563282 bytes .../speed_benchmark.txt | 24 +++ scripts/evaluate_checkpoint.sh | 17 ++ scripts/sample_checkpoint.sh | 14 ++ scripts/sample_fixed_seeds.py | 158 ++++++++++++++++++ tests/test_fixed_seed_sampling.py | 35 ++++ 13 files changed, 317 insertions(+), 3 deletions(-) create mode 100644 results/preliminary_seed42_fp32_8ksteps/README.md create mode 100644 results/preliminary_seed42_fp32_8ksteps/checkpoint.txt create mode 100644 results/preliminary_seed42_fp32_8ksteps/final_metrics_summary.csv create mode 100644 results/preliminary_seed42_fp32_8ksteps/metadata.json create mode 100644 results/preliminary_seed42_fp32_8ksteps/sample_seed42_nfe1.png create mode 100644 results/preliminary_seed42_fp32_8ksteps/sample_seed42_nfe2_mid0821.png create mode 100644 results/preliminary_seed42_fp32_8ksteps/speed_benchmark.txt create mode 100644 scripts/evaluate_checkpoint.sh create mode 100644 scripts/sample_checkpoint.sh create mode 100644 scripts/sample_fixed_seeds.py create mode 100644 tests/test_fixed_seed_sampling.py diff --git a/README.md b/README.md index 561918d9..269db366 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,27 @@ Run the following command to calculate FID of a pretrained checkpoint. bash eval_ecm.sh --resume ``` +### Fixed-seed evaluation + +Role D sampling uses seeds 0-63 and verifies that batch sizes 8 and 16 produce pixel-identical results for both NFE=1 and NFE=2: + +```bash +bash scripts/sample_checkpoint.sh \ + --outdir /mnt/ect_project/evaluations/ \ + --seeds 0-63 --nfe 1 2 --mid-t 0.821 \ + --batch-size 8 --verify-batch-size 16 +``` + +The output contains one 8x8 grid per NFE, `metadata.json`, `sha256_manifest.txt`, and individual seed images. Keep the individual PNG files under `/mnt`; only commit the grids, metadata, manifest, scripts, and tests. + +The unified metric entry point supports explicit one-step or two-step evaluation through `--nfe=1` or `--nfe=2`: + +```bash +bash scripts/evaluate_checkpoint.sh 1 \ + --outdir ct-evals --data datasets/cifar10-32x32.zip \ + --nfe=2 --mid_t=0.821 --metrics=fid50k_full +``` + ## Generative Performance ### FID Evaluation diff --git a/ct_eval.py b/ct_eval.py index b9ab7a49..fe96c8f4 100644 --- a/ct_eval.py +++ b/ct_eval.py @@ -92,6 +92,7 @@ def convert(self, value, param, ctx): # Evaluation @click.option('--mid_t', help='Sampler steps [default: 0.821]', multiple=True, default=[0.821]) +@click.option('--nfe', help='Number of function evaluations', type=click.Choice(['1', '2']), default='2', show_default=True) @click.option('--metrics', help='Comma-separated list or "none" [default: fid50k_full]', type=CommaSeparatedList(), default='fid50k_full') @@ -145,7 +146,7 @@ def main(**kwargs): # Trainig options. c.update(cudnn_benchmark=opts.bench) - c.update(mid_t=opts.mid_t, metrics=opts.metrics) + c.update(mid_t=() if opts.nfe == '1' else opts.mid_t, metrics=opts.metrics) # Random seed. if opts.seed is not None: @@ -274,7 +275,7 @@ def save_image_grid(img, fname, drange, grid_size): @torch.no_grad() def generator_fn( net, latents, class_labels=None, - t_max=80, mid_t=None + t_max=80, mid_t=None, step_noises=None ): # Time step discretization. mid_t = [] if mid_t is None else mid_t @@ -283,12 +284,18 @@ def generator_fn( # t_0 = T, t_N = 0 t_steps = torch.cat([net.round_sigma(t_steps), torch.zeros_like(t_steps[:1])]) + if step_noises is not None and len(step_noises) != max(len(t_steps) - 2, 0): + raise ValueError('step_noises must contain one tensor per intermediate sampling step') + # Sampling steps x = latents.to(torch.float64) * t_steps[0] for i, (t_cur, t_next) in enumerate(zip(t_steps[:-1], t_steps[1:])): x = net(x, t_cur, class_labels).to(torch.float64) if t_next > 0: - x = x + t_next * torch.randn_like(x) + noise = torch.randn_like(x) if step_noises is None else step_noises[i] + if noise.shape != x.shape: + raise ValueError(f'step_noises[{i}] has shape {noise.shape}, expected {x.shape}') + x = x + t_next * noise.to(device=x.device, dtype=x.dtype) return x #---------------------------------------------------------------------------- diff --git a/results/preliminary_seed42_fp32_8ksteps/README.md b/results/preliminary_seed42_fp32_8ksteps/README.md new file mode 100644 index 00000000..d5385cc3 --- /dev/null +++ b/results/preliminary_seed42_fp32_8ksteps/README.md @@ -0,0 +1,16 @@ +# Preliminary seed42 FP32 results + +These files are **preliminary historical results** preserved from Role D's first-day evaluation. They were produced on old base commit `4311059770f54821d151a9b0e1f76770a5f3930e` and originally recorded in commit `52b1f2350744af4f6fbee3142b21fea2bc62f0b1`. + +Protocol summary: + +- CIFAR-10 32x32, unconditional generation +- FP32 training and evaluation +- training seed 42 and evaluation seed 42 +- approximately 8k training updates, inferred from the run directory name +- NFE=1 and NFE=2, with `mid_t=0.821` for NFE=2 +- NVIDIA A100-PCIE-40GB + +The checkpoint is stored outside Git. Its historical path is recorded in `checkpoint.txt`, but its SHA256 was not captured with the original result and remains unknown. + +These measurements are not directly comparable to the current B/C protocol and must not be treated as a final benchmark. They are retained only as preliminary evidence and as a reference for the reproducible evaluation implementation. diff --git a/results/preliminary_seed42_fp32_8ksteps/checkpoint.txt b/results/preliminary_seed42_fp32_8ksteps/checkpoint.txt new file mode 100644 index 00000000..13cae0a0 --- /dev/null +++ b/results/preliminary_seed42_fp32_8ksteps/checkpoint.txt @@ -0,0 +1 @@ +ct-runs/00003-cifar10-32x32-uncond-ddpmpp-ect-RAdam-0.000100-gpus1-batch128-fp32-seed42-8ksteps/network-snapshot-latest.pkl diff --git a/results/preliminary_seed42_fp32_8ksteps/final_metrics_summary.csv b/results/preliminary_seed42_fp32_8ksteps/final_metrics_summary.csv new file mode 100644 index 00000000..7093401b --- /dev/null +++ b/results/preliminary_seed42_fp32_8ksteps/final_metrics_summary.csv @@ -0,0 +1,3 @@ +mode,fid_min,fid_mean,fid_std,kid_min,kid_mean,kid_std,kid_x1000_mean,images_per_second,ms_per_image,peak_memory_gb +NFE=1,7.65823066197661,7.7753411131822805,0.11299776512069107,0.004654421471059322,0.004767270603527625,0.00010208288664534912,4.767270603527625,1149.071,0.87,1.542 +NFE=2,2.6761110851193552,2.7022722247267614,0.024466128624093576,0.0008825805853120983,0.000910972497270753,2.508021782471672e-05,0.910972497270753,573.412,1.744,1.542 diff --git a/results/preliminary_seed42_fp32_8ksteps/metadata.json b/results/preliminary_seed42_fp32_8ksteps/metadata.json new file mode 100644 index 00000000..f4c391cd --- /dev/null +++ b/results/preliminary_seed42_fp32_8ksteps/metadata.json @@ -0,0 +1,18 @@ +{ + "result_type": "preliminary_historical", + "historical_results_commit": "52b1f2350744af4f6fbee3142b21fea2bc62f0b1", + "evaluation_git_commit": "4311059770f54821d151a9b0e1f76770a5f3930e", + "training_git_commit": "unknown", + "checkpoint_path": "ct-runs/00003-cifar10-32x32-uncond-ddpmpp-ect-RAdam-0.000100-gpus1-batch128-fp32-seed42-8ksteps/network-snapshot-latest.pkl", + "checkpoint_sha256": "unknown", + "training_seed": 42, + "evaluation_seed": 42, + "training_precision": "fp32", + "training_updates": 8000, + "training_updates_source": "inferred_from_directory_name", + "nfe": [1, 2], + "mid_t": 0.821, + "dataset": "cifar10-32x32", + "gpu": "NVIDIA A100-PCIE-40GB", + "formal_comparable_result": false +} diff --git a/results/preliminary_seed42_fp32_8ksteps/sample_seed42_nfe1.png b/results/preliminary_seed42_fp32_8ksteps/sample_seed42_nfe1.png new file mode 100644 index 0000000000000000000000000000000000000000..e185dd597fdd93ac0263553f787929c099a38995 GIT binary patch literal 571147 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�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%0AOz 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⪚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 rirF(uVn&d}qLdc_1o%qN2OuI^p$J^U?#Jgx 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

(Jl&^p~^B%*MmemNz%MFJFt&v@v)( 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 sDTV0VXR*Wr~m)}07*qoM6N<$g5LQZ-v9sr literal 0 HcmV?d00001 diff --git a/results/preliminary_seed42_fp32_8ksteps/sample_seed42_nfe2_mid0821.png b/results/preliminary_seed42_fp32_8ksteps/sample_seed42_nfe2_mid0821.png new file mode 100644 index 0000000000000000000000000000000000000000..569eaea8a9e6ed371d6bc529ae262962246df9f8 GIT binary patch literal 563282 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

a)?-r44A?1Q(UcYCxXcHcCKN^K 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

HEP-MkIo~Yov2{AY2Z0dbu1N1xEH^(MS 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 + exit 2 +fi + +ngpus=$1 +port=$2 +checkpoint=$3 +shift 3 +repo_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd) + +cd "$repo_dir" +torchrun --standalone --nproc_per_node="$ngpus" --master_port="$port" \ + ct_eval.py --resume "$checkpoint" "$@" diff --git a/scripts/sample_checkpoint.sh b/scripts/sample_checkpoint.sh new file mode 100644 index 00000000..09352622 --- /dev/null +++ b/scripts/sample_checkpoint.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -euo pipefail + +if [[ $# -lt 1 ]]; then + echo "Usage: $0 CHECKPOINT [sample_fixed_seeds.py options]" >&2 + exit 2 +fi + +checkpoint=$1 +shift +repo_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd) + +cd "$repo_dir" +python scripts/sample_fixed_seeds.py --network "$checkpoint" "$@" diff --git a/scripts/sample_fixed_seeds.py b/scripts/sample_fixed_seeds.py new file mode 100644 index 00000000..9660227c --- /dev/null +++ b/scripts/sample_fixed_seeds.py @@ -0,0 +1,158 @@ +#!/usr/bin/env python3 +"""Generate batch-independent fixed-seed samples from an ECT checkpoint.""" + +import argparse +import hashlib +import json +import pickle +import subprocess +import sys +from pathlib import Path + +import numpy as np +import PIL.Image +import torch + +REPO_ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(REPO_ROOT)) + +import dnnlib +from ct_eval import generator_fn, parse_int_list + + +def sha256_file(path): + digest = hashlib.sha256() + with path.open("rb") as handle: + for chunk in iter(lambda: handle.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def git_commit(): + try: + return subprocess.check_output( + ["git", "rev-parse", "HEAD"], text=True, stderr=subprocess.DEVNULL + ).strip() + except (OSError, subprocess.CalledProcessError): + return "unknown" + + +def seeded_inputs(seeds, shape, intermediate_steps): + latents = [] + noises = [[] for _ in range(intermediate_steps)] + for seed in seeds: + generator = torch.Generator(device="cpu").manual_seed(seed) + latents.append(torch.randn(shape, generator=generator, dtype=torch.float64)) + for index in range(intermediate_steps): + noises[index].append(torch.randn(shape, generator=generator, dtype=torch.float64)) + return torch.stack(latents), [torch.stack(items) for items in noises] + + +def generate_uint8(net, seeds, nfe, mid_t, batch_size, device): + shape = (net.img_channels, net.img_resolution, net.img_resolution) + batches = [] + for start in range(0, len(seeds), batch_size): + batch_seeds = seeds[start:start + batch_size] + latents, step_noises = seeded_inputs(batch_seeds, shape, nfe - 1) + images = generator_fn( + net, + latents.to(device), + mid_t=None if nfe == 1 else [mid_t], + step_noises=[noise.to(device) for noise in step_noises], + ) + batches.append(images.cpu()) + images = torch.cat(batches).numpy() + return np.rint((images + 1) * 127.5).clip(0, 255).astype(np.uint8) + + +def image_bytes(image): + return image.transpose(1, 2, 0).tobytes() + + +def assert_batch_equivalence(net, seeds, nfe, mid_t, first, second, device): + first_images = generate_uint8(net, seeds, nfe, mid_t, first, device) + second_images = generate_uint8(net, seeds, nfe, mid_t, second, device) + mismatches = [seed for seed, a, b in zip(seeds, first_images, second_images) if image_bytes(a) != image_bytes(b)] + if mismatches: + raise RuntimeError(f"NFE={nfe} differs across batch sizes {first}/{second} for seeds: {mismatches}") + return first_images + + +def save_rgb(image, path): + path.parent.mkdir(parents=True, exist_ok=True) + PIL.Image.fromarray(image.transpose(1, 2, 0), mode="RGB").save(path) + + +def save_grid(images, path, columns=8): + if len(images) % columns: + raise ValueError("image count must be divisible by grid columns") + rows = len(images) // columns + _, height, width = images.shape[1:] + grid = images.reshape(rows, columns, 3, height, width) + grid = grid.transpose(0, 3, 1, 4, 2).reshape(rows * height, columns * width, 3) + PIL.Image.fromarray(grid, mode="RGB").save(path) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--network", required=True, help="Checkpoint PKL path or URL") + parser.add_argument("--outdir", type=Path, default=Path("/mnt/ect_project/evaluations")) + parser.add_argument("--seeds", default="0-63") + parser.add_argument("--nfe", type=int, choices=[1, 2], nargs="+", default=[1, 2]) + parser.add_argument("--mid-t", type=float, default=0.821) + parser.add_argument("--batch-size", type=int, default=8) + parser.add_argument("--verify-batch-size", type=int, default=16) + parser.add_argument("--device", default="cuda") + args = parser.parse_args() + + seeds = parse_int_list(args.seeds) + if not seeds: + raise SystemExit("--seeds must not be empty") + args.outdir.mkdir(parents=True, exist_ok=True) + + with dnnlib.util.open_url(args.network, verbose=True) as handle: + checkpoint_bytes = handle.read() + checkpoint_sha256 = hashlib.sha256(checkpoint_bytes).hexdigest() + data = pickle.loads(checkpoint_bytes) + net = data["ema"].eval().requires_grad_(False).to(args.device) + + manifest = [] + with torch.no_grad(): + for nfe in args.nfe: + images = assert_batch_equivalence( + net, seeds, nfe, args.mid_t, args.batch_size, + args.verify_batch_size, args.device, + ) + mode_dir = args.outdir / f"nfe{nfe}" + for seed, image in zip(seeds, images): + path = mode_dir / "images" / f"seed{seed:06d}.png" + save_rgb(image, path) + manifest.append((sha256_file(path), path.relative_to(args.outdir).as_posix())) + grid_path = mode_dir / "grid_8x8.png" + save_grid(images, grid_path) + manifest.append((sha256_file(grid_path), grid_path.relative_to(args.outdir).as_posix())) + + metadata = { + "checkpoint": args.network, + "checkpoint_sha256": checkpoint_sha256, + "evaluation_git_commit": git_commit(), + "seeds": seeds, + "nfe": args.nfe, + "mid_t": args.mid_t, + "precision": "fp16" if getattr(net, "use_fp16", False) else "fp32", + "gpu": torch.cuda.get_device_name(0) if torch.cuda.is_available() else "cpu", + "image_format": "32x32 RGB" if net.img_resolution == 32 and net.img_channels == 3 else f"{net.img_resolution}x{net.img_resolution} channels={net.img_channels}", + "batch_sizes_verified": [args.batch_size, args.verify_batch_size], + "batch_independent_sha256": True, + } + metadata_path = args.outdir / "metadata.json" + metadata_path.write_text(json.dumps(metadata, indent=2) + "\n", encoding="utf-8") + manifest.append((sha256_file(metadata_path), metadata_path.name)) + (args.outdir / "sha256_manifest.txt").write_text( + "".join(f"{digest} {name}\n" for digest, name in manifest), encoding="utf-8" + ) + print(json.dumps(metadata, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/tests/test_fixed_seed_sampling.py b/tests/test_fixed_seed_sampling.py new file mode 100644 index 00000000..10693923 --- /dev/null +++ b/tests/test_fixed_seed_sampling.py @@ -0,0 +1,35 @@ +import unittest + +import numpy as np +import torch + +from scripts.sample_fixed_seeds import generate_uint8 + + +class DummyNet(torch.nn.Module): + img_channels = 3 + img_resolution = 32 + + def round_sigma(self, sigma): + return sigma + + def forward(self, x, sigma, class_labels=None): + del sigma, class_labels + return torch.tanh(x / 80) + + +class FixedSeedSamplingTest(unittest.TestCase): + def test_batches_are_pixel_identical_for_nfe1_and_nfe2(self): + net = DummyNet().eval() + seeds = list(range(64)) + for nfe in [1, 2]: + with self.subTest(nfe=nfe): + batch8 = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") + batch16 = generate_uint8(net, seeds, nfe, 0.821, 16, "cpu") + self.assertEqual(batch8.shape, (64, 3, 32, 32)) + self.assertEqual(batch8.dtype, np.uint8) + np.testing.assert_array_equal(batch8, batch16) + + +if __name__ == "__main__": + unittest.main() From 9ebc6c3006340a77989b383e0475eb1a9e3a0d03 Mon Sep 17 00:00:00 2001 From: edwards365 Date: Wed, 15 Jul 2026 17:23:17 +0800 Subject: [PATCH 07/60] Make fixed-seed sampling batch invariant --- scripts/sample_fixed_seeds.py | 24 ++++++++++++++---------- tests/test_fixed_seed_sampling.py | 5 ++++- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/scripts/sample_fixed_seeds.py b/scripts/sample_fixed_seeds.py index 9660227c..2f1e4d56 100644 --- a/scripts/sample_fixed_seeds.py +++ b/scripts/sample_fixed_seeds.py @@ -50,18 +50,21 @@ def seeded_inputs(seeds, shape, intermediate_steps): def generate_uint8(net, seeds, nfe, mid_t, batch_size, device): shape = (net.img_channels, net.img_resolution, net.img_resolution) - batches = [] + images = [] for start in range(0, len(seeds), batch_size): batch_seeds = seeds[start:start + batch_size] - latents, step_noises = seeded_inputs(batch_seeds, shape, nfe - 1) - images = generator_fn( - net, - latents.to(device), - mid_t=None if nfe == 1 else [mid_t], - step_noises=[noise.to(device) for noise in step_noises], - ) - batches.append(images.cpu()) - images = torch.cat(batches).numpy() + # Keep model forwards at batch=1. cuDNN may select different convolution + # plans for different batch shapes, which can change quantized pixels. + for seed in batch_seeds: + latents, step_noises = seeded_inputs([seed], shape, nfe - 1) + image = generator_fn( + net, + latents.to(device), + mid_t=None if nfe == 1 else [mid_t], + step_noises=[noise.to(device) for noise in step_noises], + ) + images.append(image.cpu()) + images = torch.cat(images).numpy() return np.rint((images + 1) * 127.5).clip(0, 255).astype(np.uint8) @@ -143,6 +146,7 @@ def main(): "gpu": torch.cuda.get_device_name(0) if torch.cuda.is_available() else "cpu", "image_format": "32x32 RGB" if net.img_resolution == 32 and net.img_channels == 3 else f"{net.img_resolution}x{net.img_resolution} channels={net.img_channels}", "batch_sizes_verified": [args.batch_size, args.verify_batch_size], + "model_forward_batch_size": 1, "batch_independent_sha256": True, } metadata_path = args.outdir / "metadata.json" diff --git a/tests/test_fixed_seed_sampling.py b/tests/test_fixed_seed_sampling.py index 10693923..4425bcbf 100644 --- a/tests/test_fixed_seed_sampling.py +++ b/tests/test_fixed_seed_sampling.py @@ -15,7 +15,10 @@ def round_sigma(self, sigma): def forward(self, x, sigma, class_labels=None): del sigma, class_labels - return torch.tanh(x / 80) + # Deliberately depend on the forward batch composition. The fixed-seed + # sampler must still be invariant to its outer work-group size. + batch_term = x.mean(dim=0, keepdim=True) * 0.01 + return torch.tanh((x + batch_term) / 80) class FixedSeedSamplingTest(unittest.TestCase): From 6576c16816a32ad25c1ee9ecad72e49b70fe2495 Mon Sep 17 00:00:00 2001 From: edwards365 Date: Wed, 15 Jul 2026 17:44:07 +0800 Subject: [PATCH 08/60] Add fixed-seed sampling artifacts --- .../metadata.json | 85 ++++++++++++ .../nfe1/grid_8x8.png | Bin 0 -> 143881 bytes .../nfe2/grid_8x8.png | Bin 0 -> 143480 bytes .../sha256_manifest.txt | 131 ++++++++++++++++++ 4 files changed, 216 insertions(+) create mode 100644 results/fixed_seeds_0_63_fp32_8ksteps/metadata.json create mode 100644 results/fixed_seeds_0_63_fp32_8ksteps/nfe1/grid_8x8.png create mode 100644 results/fixed_seeds_0_63_fp32_8ksteps/nfe2/grid_8x8.png create mode 100644 results/fixed_seeds_0_63_fp32_8ksteps/sha256_manifest.txt diff --git a/results/fixed_seeds_0_63_fp32_8ksteps/metadata.json b/results/fixed_seeds_0_63_fp32_8ksteps/metadata.json new file mode 100644 index 00000000..21b58be5 --- /dev/null +++ b/results/fixed_seeds_0_63_fp32_8ksteps/metadata.json @@ -0,0 +1,85 @@ +{ + "checkpoint": "ct-runs/00003-cifar10-32x32-uncond-ddpmpp-ect-RAdam-0.000100-gpus1-batch128-fp32-seed42-8ksteps/network-snapshot-latest.pkl", + "checkpoint_sha256": "912a527fb73be39e6bdd0d35d580b948ec322a0620cfedd4795d6c11337ab777", + "evaluation_git_commit": "9ebc6c3006340a77989b383e0475eb1a9e3a0d03", + "seeds": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "nfe": [ + 1, + 2 + ], + "mid_t": 0.821, + "precision": "fp32", + "gpu": "NVIDIA A100-PCIE-40GB", + "image_format": "32x32 RGB", + "batch_sizes_verified": [ + 8, + 16 + ], + "model_forward_batch_size": 1, + "batch_independent_sha256": true +} diff --git a/results/fixed_seeds_0_63_fp32_8ksteps/nfe1/grid_8x8.png b/results/fixed_seeds_0_63_fp32_8ksteps/nfe1/grid_8x8.png new file mode 100644 index 0000000000000000000000000000000000000000..fd971172e5fb4b97d8fc5721eb573f4396933b52 GIT binary patch literal 143881 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 literal 0 HcmV?d00001 diff --git a/results/fixed_seeds_0_63_fp32_8ksteps/nfe2/grid_8x8.png b/results/fixed_seeds_0_63_fp32_8ksteps/nfe2/grid_8x8.png new file mode 100644 index 0000000000000000000000000000000000000000..e59a9f04a7dfd5b64df14dc3dcc956860fc691de GIT binary patch literal 143480 zcmV)QK(xP!P)YEbKd3Kafb@F^L=x%Hkm(FaRA9P2Z^rgS@zlbrUc^ZTP zQIMm@$gGqWUqaMVT_ZIZ+iNZv^lNNAafM59sEu@->^z>?4H}(IwQ)z{{4SBUfeI2%PV_Z({X+4 z{^`!8;qDn)EM|ufio@gVXMXg@zxcwB8k3DSH%yWeV4mfPPE(st7qh?iH-G8&%^N$T zt^f1i{}-STk%*AUL;)mJ0E)CiK~i2R(X3HILx>890Tl}XA`vmOkWzrm8~`MshzKyV z7!Z@%-+kq;1Cg;-kull=`xsk*DB@T=pacq1cXsGGp7b-yqiT~ZB~;PD{`jqH^KVHa zNC1EwF~$%Ad+#H23<8n#CtiLb>zSg+wAIFFZN!kaiAf8UB-U7+B-SQIY1CR61e8)r zp(q!E58k)lg|?}eZQJ@7nS+QxoeOOplGCQ_a-kzIM-h(R0VzRYVPOOj z4pCbo5D@`^&;}%CL`+Q+Jjak0nG33Lzq}RtQl62rCZ&5)~LjNkXW|su%=N8?6a_ zD4>+MXWgD{4gi$Ks;m`an%YsXa1x{VJWo2EB1woDtg%P|0Ig8~&>~5c5Sdv5gJ+)` zBBg==qGFLCgzPn9+D!tlHoAkPIe+_faqsr^ekb7di0fujKvg?B(s=W`A?o%X;ajUi|DY{oH?)7+qwEaNFNFDOkMG7%0W)~(ix0SG}WVF5ruV53kGE5f>Mb#8QIS=OVi+{f4w5R$JwYHbtU z23Na~XDMsreanb8u`zl88uoG*U9+k!yH!0$>EZB_B&mqcRLn`1E`qfP9>i%@S{o#DG8BBXF%I#gP%Q=q7n;ocHslPErjoQxOdcyC)2ixk&9v88FqKipY8ANM3FYc zh{ULvIADyZBSrxR5F#NWA}kVJWT_&$x;a1z3c(->2bPEk0ziNQfIxsCfFOb(N|69W z5fCt>MxCUWF$zj#0YO5Is8J~bLI4l};>e6h07fYkh#|x%z<`=G83ZR11534B?xNW( z`VV7kjTKT#fzk#*keMS35VL3jt+7)ibuF>=oFppMPNJZSu_URsEI4jciD&b$*)^w2 zcT`pVyr)RUClgR9LQsaIN&r%g(Z`4g#Hfuz!m4Q`v=o{%30&x9CyN|_T;N_W?PiLZ zCyUyPD6K#w$xV#xTSyX2Q&U!rcR>IN89_x*z(Rt`Sns_60*VL&DUKmYOopoV;WM9n zZaH4KS@YBrPtKR8yJvPy!u{@c(cPKM-<{unr>$dR4FOq|%;(K)mXImZVzxz9Wz$4u zA$X2lFP(FZTXBpCsCt8qq}x{=vp+9^2!KGL2r69HGY~-lMTsPdZR@ao;pwG=2rGo3;^!%z%iB2vEhqq#&XoDrDfmtXNy4Q)@I}k>`Z6Jb3V6|Mm!GkY1wlRCA1V-8kYwCygyF%4%{lt!;u{cRPZRRAtbl zjm5~4B&l~O>_c>sFfyiD0qhaMC~;Ag(jXC8zW8H5HoJfStv~!XF{M6k`s3ODAQb5^ zr)0jkVPbc-s3@Vp?)bRvj&Rrj?Q=ay=qm~WplF;gIYAlfPz*_1l+rH@v&!~ z>2-?x2V*oEa2-hkM?oMV6jD}U#{#lx-7;6{ty_0*-aaUL7fiRy;!r8jS`ld^KqLi7 zfP&1TG-|M^GR6`MD*zToRtOBhh$tvg5CItwBDFOqCg0iE>Gy{pssoxk&U|K_K^__0VX0tQ|KwskQQL}cv%mb6j|fM5*;*G`M3YW%u0!9ti7-e*5a6X$2^G@37p3LS|9y9_gFiL?iX+xAGOg2>gOs5tYW1^6aQWOOs zLeRzp4xo$z9V#zac*QZzmMt``$LOgXoA$&V-mLfE?Ze>A)6cfTwLcx0B2Ot(8X=yv zaUR=T=b~T>bzP1pi}5F4etP;oXa&IqX+slYXONG!(+77aATY=ZTjc=egi)6YGA=1g_}!|S0Ad*_FOTew+JuCs129iO_m%z6~jK`^~u zF&c~#4FW_6j3j~(l>h`l?*buod+E8&;drueE7wS)AhgRP0h>@n9atwS5)mUPM2n;Z zK$sDPh>+VvRGMlLjw}SEC`Lv?K|ujVL;x*$ z#sBHQ{d?(u`nfMY)p!>~gRlTci7e~5EI_Q4LI6M(02ToNMHqsAMq z7irP=90&d0vfSQ@sZB9DtcB@#D2(Z4sTusPVsME|L=|U%|NE4!GAqiG<^s9(E$x?|CP{=@x z9w@OUCtX%(tAnXz6TjK*<>}V$cCO)cf85}*lO_)jrt`TQ4bEX~-E_J++PdGimmfc$ zBc}ld8=W`qESNY`g6KB18s9id4RydT5>$lj0vJq^{N>L-Q!T2Gu8&EBPPI~)b`7+` zSS3Xwk?IPYMsx>3e3n_I;&j$ZtTVDAB0?GM%Q&q5c`?wVU=K3mgDH=`*%Nx2={Nill7+? z=PpsIRFZVEwDrw=zOYHZH{2zg2Ipe%k%dIJg2ElpfrwBT7?F?>5flK!qgs!|XXSK^ zc|dHlG)L?nRShtsiV9VtY|u3biYEfa_~`cp7)V4w8%-&}v(G*LL!WxiAZKJBym#}< zzxFGyy>{ocB{td%*Hr|ik|eiQZEOsirvC5$n_t`8`&-XEbAHjzqW}UZ5fRM->$bij zi}DEF1H!u4ZM|Ep=1)CymF$Dr;=MsXSyk2L%jeprIh-6n_w)qH%;+DZ$Kj) zo$Ks$3p*blrdH4E!}||EeDUK?*+k#IeQmxt=!`l^(YtYYohS31y#H8w(Ys2;+WY$K zPUk|Az)|55J311fA|zwxbxovG|BK)Jkc(P*R`Z*=j( zg-)8?b8b4F0t4-=>&Ij)sjdJN?yP`26OD zCq@tM-s?HrRoSx}%Y3VMfB)8Fd+>#if1*011GA}_qF-P%?xMUq7g*y3uxy}rCV%G#r{{@3T)`7`<@i@iWRuniK{L zj!a_CZ9g{ZZU5Tuf1{N~l(veMEQiBEKFo7#e520o_CZN{>b~;jZ{E6fbNAdulV+*a zw;w)O)=gUU+p5a4oJB*ft_y6O+^@~6I z^DldHBCOW<3Q+)!7HddpVh%BS5piwXy0BWVHbczwVmR8obmd9!VRLf>fk)kBHmkJ4 zEbAfZy7dU^qxawUO|voj%zV0h@0}0d|KNik|EZt2`owt`Dn*fi7)eWQEao=R6c9w& zU=m4sW;D_XjVU%e1L$RDG50_I`InT0Z+zp{?zv0%4<4R8co@2!4(ow}tx@Ov`HeO- z2#TneCCO&L=y&rpO}-qe$}vLK&&^MK?4`fE2Vj+m~Fs952%8P&O{?HGFJzU?05q zHF9se3#)b`8(w_kY(0Bx?xl_5C0@SV8TC4=Rd8*nSB>+%Ue7L<&0^+ORY+af;Ix}& znwX;}T1R3dLK49_zVQdI4N7&fbMY|Fq^Z(&RUWj%bNwfuF1pRe#X+|)sq<}ajb^vJ zJKG-iE^q5gICRo!s<66yXY=u^pLpp7@qx5LQ6PdO3Ka`>(r%^{Sc)+kt}btNF76IM zaA$k_gX_0X#*+tkzW>pk`>(zFovP*MUizWa@#)3$dz)u>{_yMH91TZhVqMc_c_t)Y zf{BWqi&3RX0zou5Vl4oIhzJZqfP^4OfDsjoX9!p>n=I*c^Q5fX!{hOAW3y`8*gKE5Z1R+tNd_rQ85HLjNoeLaR z^CgJ6bLUUKF;l5cOz8r~_%lEL6Gf-cNFTj_^XAQm ziS1sye#a(edo#;2Eyy79qd)Q_B}@jhJZ-ABb)m@f!7$qx7MV(7@wSUyQ3>tE}k48C&vBdU;L5b$N+#srM1?GgKmMq+L$bDK(|F-zi{!z zzw(p+UYxH^+OWH^ml97;KC)>WeAw7Xm4e)?4Dl$1rgbn6-3XVSy8Oe>J$0em{q1kO zJK9cv=*26){Clt7nBSQkKYZfim2>@ckf+`;T6*$RTf3L+;`Y3}TNN$5^z>kVjt!g1 zYCh@|Ph38C^X9=4RGQ>v9am);ne$Fowmez3N=0p>C7l?RYC#Z=93!Whu~zRa^={D% zW$9)ogF(788bXl{AKT+6)nlDA7k8d}=hnmD`sO!=!=A>Fa<*4=KYg~Bi35-#&A3-Y zW{5#sjk0b$${Ia@2!Uc96tGs%OZ_vCT_{rBl-{7fb??sU$-QgueQR2_*~S*s%!nX3 z9#2AOQv;TK3-M%pV63u5p%p5n6-y^8(##-0G3X6@!=o0E5EUY<$1M~PAZYPQ#oltN zW|MkkH&WZNX_qPSqSMYW>kUKX!EmUQQHXU_MJiD_(n=yB5`%~^2y2CCjJ8T!rHRdd z|4)A7EC1%TB=6sC7r8|eTKVJo9Y!F-el@E)g__Kq^JEodMneey_y6jj$ENygfAi;B zsXetyF>yk^$9@SQ%rSC^AvAUEs(RGxpB@~a&fLlA{LcROZJK9AcVlzd?-heyXKy3l z-7Hj67;93Lz0pu9tU`R}`|nOB&6zX1H?KdK&zFDxr#{=yO&ePz{KcRB9D@T5Mrqf0 z04$2sD7G3%DT^ktIZ@{iXK#M+&YgR=4$*WDk57v%8}>R@#a>2!wb~nWpLzT&vnUV( zVTq`Xa8Sx@juZ%_Y5L-mk9Q2+ymtG}!^PgY^Ow($hFd1@Xje9wO(xT0)9*7jd)glymk`zhSN(h*C`f0B_ zo1FGiGL&YPv>?Y|Qk|IOvCYkL6%S4i>sfuKD9-jbcR%)Q=ds5ez%c1+n||@fKlkNV zzkT`2xiq((pg*;hKR3ktAHBakKG-<-%;5Z$$WS>i2$nPo24*580*3X;ER$9WxLQ@$ zK6v-Sxij0N-75H%*G|$ak6(N+ZniHyefRdgrfx2ryMW-{d*_YKBBy5Bvk7jEl%+hO zPB$YoiYU)4vJg>blm4J{e1ZTXEV%Bf5FiRls=2_ne{lO4V$Mb}*;NbEl7kAj?;TAR z?b)*z$s~lyV;8R;Ogaz8Z;4b|InS&x1w;e{04)LrK_jNd?B759`qy7stQNMZR|`-C z-i2OD&t2Yra9CUGCKW@34P%b$rgSVI5umF1zx!ujdG@)hAOGYts!hcPP+sZQQdB^s zMO@h5KX~`852|_H#!xnO(@57O5T$M7qHW97s?*5_!>&VFEe|03x7RMS_T$S*YIu=ONX(CPZu>zw-FE zUj5f^zV-eWKlSVvf8^t)NEp$t0DQr%&TV(llQd6~Oxc`Vjox|0_L;{wC;d9iul@8V zKXEj<@(;iA(ZPe8{m=Z!Mp~f8Y9-Z}yOeD`v88|VJl7G~KB))39mljRhRejd!I?|L zjr1Ge`fiA6-lcvI+nP~amSNMzS?S1TQR!tcEG{Qc$Osxq9?VZyD>sK#l7O$BYh`kH zJh*heQ*@S6HPvi;Ycwo6Ph7n6;wL`##ZUcMc6zOM<2(G(z4mar+KnipiB3+(8>2pD zg)j&ZifBRN$O;OZT7$s{3HJRDugzw&3+I-14iD#*RY~7sH&#aE<`FJHL44_a1ViZ9E6rnJ{ zc5wHja=ITZrUC>i5#7Ch=fwGgPPdOqH}7rthg&sozH*e zUw-w;$1W5}M<9mG5jHF(0^Pj(ZoP7Ey?*`ha0$^1`{0}a^s{b1>#^?Jbg0uT&(m(V z$cQH6x%ClKD#xn;-0Af8_D0xdjcZ*A@d7DX7i1{6@P zNGu`l?QGBHy_3f;P=1&aHHSf`spVge|l7}>gBP{Ogfz{ zI+FIg%~toZyz{I|I!dQ+ynSs|jdR?o zw^FTK9gZH}%|G^hQS>Bw1Q7-nkjMdWkS0chq*+5Sn?86rp4_^9YyaTk_7k6BQV(xG zsAos_ZafsGb~StQ@r!59UG&}^pB&Gp(`)6s$=%yJ?`K74XM1nz1EJQalrq6b5nRpZ zu^TjLMj&KF1tQ4Ajrs7+`^_ZprCY#3=`?`xUL8)VyLawwY@}N|Tg#fox}*1Q93I~L z6hC!*zwK{#Od^DiMF^1r08ob*I7GJIiwrk=+gpQs2dB)SAf$>N%l2r{>CojpQzUGF zD&Mk3Ca_xIXJ%4+IgSU9R}ek8Urk)!R32MBt;7$$Zho5LSu4cJq1_ z18O}Q^}D%U)r;w3-cK`(0_%B71QZ4!Bn-?)lLjgA%jHMcu0OeRc6&Jb(q~>OH2c=2 zNmisCx7_b^&EdoS62gAn;(_gOkpTX zMWAy%JH+4ll^f_bzx0#mGb`8^FB0d8wOqG8KbK^gBHerbxz7mlY@9VsCE+kN*=)8r zcC~Y6RdG8%-5l!N8q?`$qhlRBiW$u~ELNpNN~uq6?v=um>ZFO&DoxwE-r3ps3qSLP zZ@==<>mPn4wZFPrjPKmOJzuS^T>PkUX@A&T&X@hv6x$m~caUrSz1LrV{PNYUt-*A> zxOMZ^u$PTS9U=4JFwxUG$KmG-(7zU_=pSKoAif*hglL z5(94zw?6knFTDNUN2K%f!+dXG%fOvfC91i4e$da8#zT(bq+}n}xm^_ir?c7#Cy9OV z@Z>9h@X9AX{uHT56m>vCREi)-<5#C+K0PJb9`th)og+eq;5iI!6a7M=T})0n28E`H z^3KD1=Qp#b&OKwy_=9V=Zrt4;FPn&nh=kZn@`u-NziQ~UqkFG>@X?q4Z~uufGXe?- zFd{JHH^2MdYaiaqi**0+u+z=$blEf$g(4EXt8J1;%#UV^vZ@tf3<1`E5)nisW<~;z z2#5gD4G6Jn;d@=LUma_A6uT_Kw;=m?X8f2+lQIn<*gL1Qe-N!~q#` z-e&4x9u(PO(#aJ{T`5vVYi=oJ>eY3DF&!VNvUG30#`os8>bfK_fBWzJooAkYa{ple-S^%_f?xm2zy2Hle!9CobZzr5{@MTV!$0?*X~U~VyfVqg zWyih~TEz`FWn$#gmCHkvk8V7)F_7)e8d-T#HtBYfG{M?MrFCwT`SiG4*3Z271#1-w z40}D)x~j_6Y9U!0nNWz(#Hft)PacM&Tg&I3`1EXCI#((Y*9L9%vT99F?_9XNsweMV zd*B?MPG=xXqv!K-Tp-j9bc`X?3?4uLL_o9;5}74HbfAs>^FQ;&Z+`1r_l{P1Y6!hm zF$z|d&oYNmw}G=F*)#fNS*Nx$cxL-MuYJ(^$iR&7%~#&K|M2+Im0^s5sn$9mQQP={ z!K68AJf4*dg(d>VHUf}dolNc>AMfpM7FlLVqqLp{%EjvNBsT4QJUux%-Pk&t<=sx( z=KXG#raU`2Iyfxr`F9`OTcUsn3BbCfXFv)*#_zxX{_&E{s@WeeHv6hG=nu-aEaytA zB1?iuLt5Ly=4sJSj5Z7aAk0jJj6|?rRsaB%sgYKSxOq4)f8(3qK3r5UUV8H4_Qr*a z7v`%|J27=BhYwGmeCefh@TUFJ??PqH6rJt&D+O%Fr7BLd+_8^bRpTxy__8)eC#4vz0_lwVs#dbhgk2IC`TKi8^|dV$Z_XhaY?t zN;4nNIS5COXzt#HV6>T%T1fc$cSVNw`KL-yLa6ZFEPsTqmyPu zh{)Ye{>+nSlLw2#qhsLc1YP7Lvw*!U$%1pBRH4<*AV&!68NId*kLC~oBgY_tkcbd5 z9^O7siLplM1W(7a`TVW@ThkXVUwQVai~UhYnSPtBGap?L%vab+vC542 zs+^F{A}2^2MPBp=TODb~H)1m#6rE0Yluy}eT`iYZo0p$|{?fUAYU{R9#)Rp@4@N`a zW*h*N;>Pss&M-g!_IGdPW_MQYzxUpUU-gWEwU)a8Q<~RP;uYLIb4F*n< zgj*v=xxXJkwp;?|b!>EXOdW=+#dwUsMlt&*7Q5z*PGCJ0NygaJfx#~_1 zoP+{$(GCN!NK96dqn}0rE+pSdF%Cd*`T)XfAH>da$MJyXyv($ zyBkmJ?KMrAT0D1V6eX~PC{YkO5&=?d6D#Kj$@7<=2aYx$9Uo7|hx^)?QNL5wWdzE# zoZZUu9GlvKL}npU5JjU}L&F#a5dc(O3ze=RP?}hHF*zDPoF5)6?jKH{dE$v#nGCkh z^*6Vp_~X-)Ucb{DZ6Ibzx@EvKgD%oE6xyIwi2w!BqNH54y`;HJnrZCwr$2&=>IeE5bnCeJ#+DoSh{UpLL5KOFROCFRB4PUGm{XlgX% z$$*tUT_xP4IqdB9pBx|7M-NuMR-0RAXR{L)IeYfJPSWY38TJOjWDVNLfwj>^kAOM_ zvXDsu$)SF9js{Gmfq@7~1hv&#fk||lW*LGen`odP{@jl|e)h~S|MEZo#;dQ*=XGKc z(426b*HtIAkz=`>|J2J*O{&iOzy3#G`1s?aVds@MZ*6RC4R_B06cB3=0zLtP*=iLf zh;Y?TtNC$L&dcSnKiIH&r)5bM_3~`6vEiAQiv?+=P3AaM&7z&U@!?AK&-VJct968Q zdv7Pt(|$*7Y!1E4=J5petZvH~S%e7_U;+g`xZy_skG}Q?Ph7qn8t>d>)Jy8!{>Ag> zKmLi2zx&>M@4WY5R!`5K={4mvLi%XBl!YZSA)!J*K~YLO7m}po+ZtlP2q+j)rry1I z^Uld+H7;fE==kX;+vlH55+lyl*KZ$gpSg5y>#3r*jD9YmA%ehRwK}bq^`IDL20STE zCi?p4KXdv1wec$@RIcsirr*nhmrg(18-d!q}*y}Yd zyCBnf9f1gdAu<4&!SUQJre)8xM#pThq3hM*@$BZ^KR7xaXW2lRd^%r*7?VUPkkMi=k^~f>7`*rOYCcWS{`Ft_ z>tFiPPrd&3N7t`?Si8z7tg9w+OKuLWfA!5<^A+}Ti1XuX<2i@;^yRbLTSFiKFu;jY zJrr~yy5K@AlR~z33%By+{G?vZyThICU?VYK1czxfeV z`PRnyjm=c5C$5}5JUQLlJDaB3)zg#d!$p0}*{Wq8FHV`k7)8=3%tCaiaPPw2#pj;= z+!5JXZ`7Mte50HI*&><5q#4=oX^d}qwZ!OVFlH_bbIsM#iv$H`_6~ArpJEg?B?di zhDB~xrP2r}gbQR$Os2_>C$qq?=@*mv&D4H=rO`9v$(>Pm5Tbo}IQA~&nc3dx>=k6Vjm(|S;P7e6rv(%Wwm>8@zTfn#sj)@S8WE{DdOcTt~Z3d0}|TPnV&4& z@i?9wl?MmKW9OHr$FFYo`bGbVKmW7mH@i*UmbFikLZ?`*mLg(w=8>c7Ov-vZUG$BI z==Ud8wJICu!EUUAG)>hX4lZ7}(3XoB+v#%on_vE2A7bg6%;@vyFFpNSk7;{TmOatIDDRl_(F$?Ts6^-h2Q3&+nZzCIyH9i3kE}79TmD|@zcw@M+)5(;kZYTF`{n~fGxT&W&pUT4r#}ZCE>Cn5fsrbpO zXVN5{%*M*dWEvFaMGAXc{mo1*$HzwLa^&B4fCe{ zq4U-AACG9eCYq|0)1|xd5tD?&S=qXFGDFW?w^Ua~)GAi>>FUhKe*VJG{dj+{889s7 zqtcy@=VgmZTLYd@RGJkbMCW4d>e=ilC&BJ!j4G0Ikpl=3JJv@t=R5_6&b25}$Y$Ew zw7+rg8B+|bDe}yo+k5`(?z0jykZ^i3?e=?GQB_CM`l+X%4jgaZz8U7T{@zCIolbMI zN$dT3PFPWub)ro$dLa;i2%r%jjfAf6+6Wp@5F#M4LX%{QlpqNL00q)S(9H`F0F0ro z(_8n$!o7Fn@cwk>I7Wt(-4=PFH2wx{##F zY(70axsRFesy-?bLC~N`NdzIT<0`QUDROo5oo~N-c5m?GU;5nVKX;MLN|Pec#)6`d zWtFjQWE0V71&%!m8eGpCA|eK60VM*)=$-TD3rn#)J3Bdu&FRa}UVUuu{GDsp5AHv> zb>rS-eE<5*-to!F^yu_Qo}CW6wzqk?^|N^l5s1KO63Y>oBN3&YE+Yw&i&)lENl1-M?xON6q%Z_uH`Aq8Syl{(8ES=! zl<9S{GiUa6cYCsIu3p&P9SzgoXM_u-)3@JwrLNmf(Ty?o2VI*a^W}22TA)&CmT9d? zz@%DbMW{p@)6L1mwn&3>E0jop%%CJ92nvHlVFnRRAc!I;0z?soSVVy^YGk7bEptRA zh#Z^nRXD|KnGy|&xXT4f;brKqLbw_eA(E~lrsF&su_VG#i$6{7bsA``IN>gYo0&wTnZ-;RAlpj4(3 zV^k;40cz5X54Cem1VqqAD{ch^kd#(>&9)FDBfwsvqtwzf+k>;899{iOFFzR&;}8GP z&FdfBc;~f(%+t@lc>83!Ji6aBr%js8kNMi&>v!+mPB%BZc<$LJFWpwae*GIagMxX6m4Xe~hF0wM$#1W;?G6O-gc4|l6&J~@5p+L|zcQXw!#(OQEc z#&$WY6q!zM*zM%QVaFIVoz4Uegpkms!PzseZ13E;_ul*OcYA~7s?76D1RB>ch|LO9 z6h&vSYTMqR?-7+Y0KpI@#0J|m!{xG71i~OF>pgmw_2QNYuvVm%N=YZAv=S{0LZVO> zr{j0O|NUoP{Mg{!r7)j->yQ56SO4|z{j1;k+G4TFjRs&#=tTl^R~U$^(4@VcJW<25 z-Q(%Wum02jG4J&vL=+=YhzKHNHt`%7NFr;6Hnql%n&t9a-}yI2(&N*8AKmHcshTc` zj6xt#fk8Zw1i;WbmuIFoEKHF|4C0|$HLa^afIvqPKqS%_QET<-7oT|N!`tj@0)tF0 zI5HZe8uq&ipjVjldjm@p8~}l)B*utJDN-zeL`aB&KKgTRzmwBeSM_51LQdJWKbW+x z|M8#u(q}&X(&HP(xvB}qWa+s}!p)7N`mptB+WGuTFFt<$+|Ks-L6KfQe_^?tQ9Vrr zT*FbB1-b|0>g(^_`Zw?2{`eJ~EIkU22DaPnNhAa~9v?-H+nYP0alSeYKB~m3hN*UE zw}x!=$?5p`xTJ=iYpb&C7QJD2nCo_s>!YK?8ta{nk&mG)mmh!eQ}_CJ-adM8|L*eZq;I==1dRRxb3O(#`A)q9WnvXdvri)HJ6z!VkOCN@zTvOM@U$>M0VIX)?4+j`%+ z)?+BG!fvOtxw*Z$xicDVg-EBy)hsVPamiRX)5}}8JiI@RUWl!ZXie(;iWC9>kw#)71Qx4})qc8sI6j(`ewJjG zl!XW&LMTK)Mq#3iRY`75O17hP0^K4h>=2Q>_Yi<3AW~J9X_Avd4#HaX2U(F=*Fa)z zs9P5TS+7_pHUUvdk|jp@HYiGrwrhq7j`D*saV3I@HURjXx_`dc+0vXM=FK#;)dq;% z{*LOH?W|}ixLA*JP9Ta(7)O0P`|_1bMOUM=3FOV<@cNBw-6R`r&sL%}0pE)f$-x*K7vpBiU{`nvN{NMc# z{_2&>S8UgIx9czl==4f+!o5>y@%|Ckg-O1rmk`>eGY^&D?G+NWU@4flvo3B}$hR6{F0P3br z^E3%@V3VWcBj=*E+PAI=tFmRxHZ8?eRjG~w5Mxj%>;4Y|1BgfzkTs2(R%nP4(i)XW zSRCGd_|0#=`pduZdx=8J_08*d?*Hml><1=7)w(pniyS*nF20U)wPgG{~&kr_ntp4k|7tC{MY z$)hnzQW#}K42Td?YIEnJRtd0x_{cy=@`D9VMj#?mNr>Txb_)dR1SU`sV*pFa@a%B* z(W{-Ei)f%g&N~@4ChLr-yK(23ZrwWGJhyF)q;YyOIsWa}-`g1M?C$ix@!eP7xO;fG z3>ni8U$DliTULnFR&JswQW>+VqK_JiK_6qR>JlJ!GVNWQu1Z6>QZk>Ng2|%ydPAMR zxY6q+-Cib`lyw_9MpvFa(`QA~$s8ke()8frgT{q+wkmecZocrs2Y>YK#hn|MZBb-h zZYoA@6s-_uD*2{sacg^PXS)sUG&S#8{k>3r_uj#N6ME-&{=>iU3%~f6fAQ?zrt@t8 zh>;0UDRp=UyZgk|$5zXFx-2IiQ&ME-U;8(|FCxzQL}x&drl}9@a#b!@B`9Un z%yY1b4J^xQ;V4O!&NBr(M+{m_XuR#17#SFl7=R-OVHOqu(4f?+o;|#MaOd`o*S_`2 z>)*e2@94A)KGU#OB-U8R^3qcmkEe^WYK^5u?GZRd%5}PMP1j1F1>KcLw2rEQoM3@vCQh8$X+{cKB+9p}$I^sEUU`DMp z5dlP{kb#X=sYR_2!66F}`WQ9nv`Ad-T=d4KsHI!vJ6qecY13Ni&1ZSHm-YtQWC?3` z+SK9TWZ&1YbAPrV<&BOLUw-d!Ro$4jZrLz5vAMXRpYA8;vvT58jtxW`q9~P6Vv>## zpctbP>zXRWDl>Xj*1nF3=>~L*YH4-SF-F?9s^%t@)qFMTjmoB3OiyfT@+^jWDGcCC zpfoY|w|?jM%T~ zznQgjQG?-UKKtok{Ka2*?x|-w)=p;=011&p5CIX9qtnRB3Wwn9wrRCCHczxs-Un0w z3_e7o6Qk28q7V{AY_xAy2geiUu)TE_DIE@Xd;Lylm>QD=hNvk-H+OR&ZvE1?ZI-4X z5^2-;hTB>xBCWO3b>my_cXrR$Ed=JtlljuMsI5|niPlchvT9vhfAYB}e(H-a{L_E+jmDRQ zPL7x;l_UE%ZeH8l-71^Lx6Or}UXr4wqO2yf`m~dDtFjGR0GUWDqfOgtpvNv>2BL>Y z_ou6I-BvD0nrN++Aw*%NH6R5Kq@|-%jT%Id2wA-2wgcw-DAiG;|YP$yXy zt0fVw8gDbyCP5(N2wHh^|N@BChF2Sulf#Zg)Q_IJMX?)bP$diPe) z$+n8&&X$pEe(geBo=@VOW8={j38Q#VMK?<`t+e(bf$+`2Y^&vL<(oQmds9sl z=Qua72G@zPBNALJdz;GG#j1Mw#h1SR<*&>N{Oo5x`xk%yFMjT`p9UkbZ5NA`V-Xe+ z;uu@+fpE~<5M{%nHmcD`F?bie(H20oGS0Wog*9=d2(Z?xc^jJAqS!p)NR@Ar#O@y+ z+`6;q!18e^pK}G+TMn?j;*U*sJufW zQiMX^{pkKX_m5AfixA~#IRzj^gh=;i`^mKf79hfLS(7p$GC-Jo?}Ie$7@{o6Tpg;q z(ZOVS$C4stuUxv)@AW>q`QdnZ>S7Zk=ZQ^?!L?5UidEWV!Wd%&22BY9Sz}$S83GY< z@R3207Ktb^`c9%dRuurKQie4*noc?Tv_soTR&)~P3V=iqKqLkrGNgz|DJD`{YpoR^ zDbPwArIgZIk+mifl*SGsuuz+s9!VfpiU1&CZH;2#2*}Vv6 z6xKEcmH;YxI7M?z0Z>%*adQ0N=;0T>^b;Sv{`%_V=x_b6{+EB_ul)xX&s}a-tFm6q zo7t)?i_Q=T>bCKbtLBlw~caK%^K1SrEj*BkqUgn#%Xls{SLsPXPd!{qf_>=1r)ru~}X` z*nc>kO_iqQav8i&Z6esl7({7fw6Pil>n8Z7MbetIHHk4cdd`v*n&^U83W$^1k-{@#)e2y<2C`oXgX!aSds*ihvaY z@87$>WL1i(+t^ekiYUS0oze!81A7po2qb}23g6bM$h*02O4GKfAf-h=&3l`J;m&Ai z(mZ+?&zIggKm*KqV(X?gD{LB{B>k#xnPZwI%qU3RUe9|+gjHRi93QYIW7TLY+ufym zH{W*kp&gC}!;wPk-3pYDju0cFtXE+o2WG*Sf8;{9$dE$b%km;!HMO>s7-Mt89Fa{g z8CENI>-x=ZXYlmXPt5&k(=L-VaojfE)s-g&!9~xKkS2&AMuVPQpG+t2{4-l`y)xAZ z!$D_rdwVz-p4r|Wbo)h~r8d!MbfQs9Sd~TA%LZN2`uKEweDvUni&wl4rE|yg@p3VX zwV$6(N)8@X+ce|JxNcg|#%S^9KVggyF{(66O=?AfCgE16UB!B<+uQ0521ULx9Bd7T zo84Z5iV-==bTM1i6-QW9tJBHxNjaNM7nQWNF$6*kvpTxgzxBO;XnNs^&-DA-UKgUo zwsX!p)E|)Y`t$?7_4;ByizE_rR2|7X9+hDqI50%;0<3goQAz|DBO)3C!jvn{he!yC?4ubON zSP?)#SQr3k9URx!41vK%iGs`+1tLQbU?#A;^bzk_Qt!yJWuGf7MVridKVLA&5;R0Ktc?t2t^1;5OGa(uW;=$am_gv1rU@r z2rML8L_kLZR3Z@&h(LgTkdOrc5a~}?@p?P_(I@&rCjYlN{m-&~06>Zne1!F;@R}bM zeqj9|K=_EKD9U<~5@qe+0zW87AJOD1LJ$Z5@<=m65P(n=5s?A_q90t{Blm?zroX;8 z#-=L2`PHxd&TsxJZId7ViJ#uyJA3ED55M=d-(^Gr@V+(HnA8%f!C(|gYo)8Q*8R>v zp%Ra-0>^=M03EE-%UR{hhB*v+9hI{4PQV{ceBQI2L29#FBuRc`al z{eiRBgGCfZQLV z$f%PmtBp~FXj5%X$^t}D6U@u9^=(V00a$We`6hB?K?VR3-}27W^ulL$cF%V)jg{9H zePEk(RIi)X)A{g9Y7Ig`{&p3c00vnr)Bs3Gh>Em}5=1eOB0ymwL6OKh5;IE#Fjinq z_X|oW3DbRZDneh=tDhUIi0%jo)V8tW?04PEL3}8k6l*Rt3$A6|} z|KNx5&v@qFeoG0X03r(r0^=jgWRW#R+M38!2t?N6C2J#oWcq^Zbb%rOC`7<(^#B3^ zAQU1Z{FB##f8vYvTMX<^PmYepM?dlNe=aYEoxxU?^&WfLT>t*}9*$1|B={youZ>|^2HijDC_Pf2^-O=e}mROzTsZGq9 ztV~o92Ld9nsl>5YvK?z z8Ev$&DnSmBjiSI&AxVI0*%+&v(99Qc(am?bO;Sp7mE=0HBtTjfNEi_~cy1eyY5}UO znuYT*nh+_7LWP$!byTHpbAVdzg6Wql#0{fq)4(0sv}M zYQ4!Sf=q-U(MLu^jDkRbtjVxWFszkQAR^)V-;JOI*ARl%@(#GBl1EyHK?Gz06c$7Q z6kG>j04C%$`7sI050n_>Plob8HsbaDPbP$amwVv<&lkp$NzjKV3?hiKX08W>byEWX z00lS%X758tl3bKplM}9a@Ih#ekr*Tj2tRrjL_|E%zuQRx01$yW< zX^Tdg<$UQ}JscK^PSS#sjD#>&f>f*)&0;o1?X69Gqdt7|PCae6d!w!0zP3_3?saoR z*fBO!#wwj!n@4&2+27cY(aef9y2H`b1i8)>1F8;%V}!_rFP zsKeQg?Pbu;#VrGQQo?IHr9_E@xTdTSfrwfNNNG!=5OhS7auQJ#A<$ZAXw3plpacLA z2mw&7>Cx83!Vl~h0oF{(YgDa)h1dS}NUj3bBdzeq@chxoALju9;YUIZkM4ge>hquB z9)FDWzx&45x3AO=dtD}%Qb}^cc#?9cCXtRq*+eEu}0fZ(veBd^ap!eBV&}-WU|aCG}f&9 zkLv{#2G9mlP#&>A>UH})*EnutFUgE>36KI<#pK&Tn$BZHfF_1&UiEf9o{zdYva2V~ zyRJ?0s(t6iJLUMKx3yd8wAkId^T9_KwuXs4Go4O^pxZ;G^C%od5>1d8rSrU#4tgnI z<=Ev}mlAanQeQS(o0~?FXNV*K7%OcJ_ENi;FMWe;h4s7z!lavU1ZbLAbBd&bcwkIY zCFBC2XNu&4VkZzqv4}7P5UZ6*G(^Ei(??85^2ig`JgxwQBn+s20Mj2O1bI{r!Xpj1 zwU0%?bqsxk#t|T{Ar=CN{J=CH1^yVrVo`Q`9gQHQMIJ%)KVfVjKVVe;x9prhD4^l* z|6l&|bLTGnxu5xkPk!>VMQ13WB1f$h02*VA(h8xeoBH_h^v&%aKfFKle@g%IBV=z}|VZa)6l6KR%BrqlcP?{|A$jr3z5`=9@5>tEZw;ChW4 z1PBm~QA)?)ZQ3_FSr!IGs^!_SCP;unr*DS6+(BqL zuG&VMgnKh%49mrlkvO`wI{-jjjc{U;n*(ci|u}IxOr~2Je~PT zO4KX*5T%!PAKN>--R< z5AGa&`K#ZYE|yPReWLV@nJidknyj&=n zdu9L<9Ss_jB1A+%P)dOk0t7{B4Sm%kDog}n5#&d)l^#7AfxNH_qg8`rM=)|bD$xw(1uu`4fs>a&FF(_37>CJVFMD&zx~zG#uh5WfL5n%-EM6RhIzL`RxOwH!M)yOe_qyKeQ=-#-=54* z?j1c`p}ckLwIodd@Z|L5@Zg{*x>+X)E-dCtK;{tt^S}M49N-64FN&}r0^lR!e})KT zP$`M-^x@sc1#R=`!99bK*fr(K3q@3sRM3W_WZHsn^=!(k%J;hjCOTJ(!YotTP?}`X zLkxBF4iy+Ooy4L6s7yI+x_O=ttt~(lt;(ge{!D-C%I@R7^fP~KItc@;mKD3OjVr3Qn}?nZyq$r;)4PMDrnt=rq%zIpT7;^d^zG%);y7cReZ?eL9PUab#r=KY?| zMrd+Yc5vbGGZ%LTNm7Ur2^Dx39YQSK$}d+Js5t0vCpw$W<{^eGO=TIYS+j9r1QEhq zZoYovr}(K$&!<@;&CU60u>-oXa>VnRO3eZiNs-R1=GfFxu|&thq8XKkAixF^YXA(A zAd&(_v{uQXbw6~?bEMX^AczE_NUb}XyiVn z%zy%T{no9o{@(9-=dM2S_;7RUiN_v49#5;*Z|`g=Qsrv?#+&bc>XV<$)09IHiN1BK zlOr*-v9o83f&g3_T-z>}iwFDn$tbOqO{_8+L^g(Lf`m&cD!9<;T)6yXZ8r}N4ztBf zqEDMUFqy&x6(|5mbyBx&Rdcm;Z5#UC z9K@j@L;LjA^BeZU-Gc+N!DjT}_|Qv?;2t}B?)ghkR*QJ!?zKu9z+^VAVq{``>Ff?E zNRvccONlXQLW!m|{LvZ=3MoJ!qW}N}l|n{Qkpw{jvjCe<2Wr>=@OKyg~G%Gra=Xds%0 zc6(&J861?ZiL2B3>BEBuC*#v`xyZeoolc;?SuL9wAWd_Hh-IW26sqW3H)twD*80l;|S;8+;Jai}>-v@oD3 zP(UbziUd(HtYxFtDkF#_gt+b-Mp~;|BGJ0@B7lksK_Li`LX7fAtdkG{A1TQO&yTw3 zAjq(o&70sn!0yhO``14lpPqjB{s+B&@6PSJLI4`N{r+lM?cclgTD`2xQ%aJW@~~=p z^C{-()lYx=!V^~!AW4-lYOA$1Noq6^vxLU0R7WNOB~9f#H_$y;mE%CIa9g=tagihg z?kyVU1N$I^v6E)qj)^QSc^6uYsMViUpFc_l|F*0rY|F*hzw+B3zW%N8-Rm|s(br80 zo?)XmQrdVQbeegS*#6+`&d!~;-Z(uu7%8iPWMi|}8zn$c*n)*)3*tpEO7xxFSgVng zAVh=5%?Y@Cak3cg>SlE&@pK5`;Jg06M$7vC;1p-P{WgxW{ zmLehnBqTteuY zT{rFRkFG7tl4GdLQYo`J9Nzr)x2E?W6q&8rz4h)Jk3D{MkmYH;+W*@3A09tcXSdR4 zUg&J?#`}wcfdLdS0)6fi&#-sGfQC$xq)DQcp3N4ec%2jl6%kKywJ-@* z6J@gVqunG+5V2~Of{oT-EUlTE2^2Cq=l)#|@TevL1YqBMHce9>IdDLu7j>(*cDhC16h+6?4MbL`+P2D5%`CQ;YORf? zs&=SA6t@cBy>s1EdAG@`s!Ww?ElH50<@kt$%28!#tNx9nH&2d!rEG{6^2jwpz?Zn$()aGGbvB)ILfZLb6u-m)%L!bZrt9s0F@#|NQeYTgd#|^mcx)Wn&B863q)oRmOs9&Wg6w?gZsbwd%yGMhac2FD3fU< zjt&Utvn8O?p*^~OqocLGdDrp1ty{OZ_qL-_E8ynnbmPpqJn!huJri629mms?m8lgoT32 zi~i2jS1+C0*=YS@zC885)Q0k+0MabrInHOR|34kzt?zvEfBeV)@Z{dTcy8~cbf>Er zX0xYX{=$FspZ;$Sk50b#>UXYRzcoHN)=FnKf#6fC(@x>5THD;ExoxXzHLFn+Fu2Ai znK3CgJ~9ZSpa?f1$%#FSWrwcFJ4miIN?Z1>brDjVFnDAL&VxZ$H^I4%?YX)QiH*o$ zv`VZ_G#Z1M22HS*2`2(TMOb@pbOI0ofdpi&oheaCFwrK_H`Z#KXst;pi0pj;#KvUJ zd}%Zq2;QTv-2TD-wGXeMm`}a%^xoFl@zH_!s^wM@Knz-W=UE(*K}0#)zxVxb{lPOI zf4T5HPZvr!oy~IT>kW#&%Au@iYB+{CFh6d z5^c!q_da^>+wZ)6^Ju>qn6?hkC}IK+p~hIo;E|mpr4vg=VN?JbhefZDlbmu2y@8_9 zpc7&QFo^4FKxqWTwb2703W)#`F#|+qW(hGf5gELQm#}W7vp`@5VtM7=*M9eVuZ&Np zq=?uW13oyANG45evO1Z}T#ISa8XBXSmgU_Kujhapn8NLoll~pGw{1Yxq*jx~^4i_m zc)6&{WI{TkoxRj-dHng6hBBhiv+Gbu*o1O~QYI1aXyco}X;{hOWjDe$8=n_Pr z+Sl#8JRPsjZfq4Mb($@SKydBKbBqyKfP?>^bN~XFpB#MccYmW<%!a*g(I38laBo(H z#bRy;!;QUjo9CZ+_Qg-$zyIJ{fB5yU|K3-R4-eV5p=}FovX0X8aUC4FHuzOYY!X8x zrl3RsG%2MiM2Ct*z_-E-63}XmsHzZ;Cex&Al|fXpYD;Ok+v_HYu6&Cg3R9%1y?On1 zd1mXPvE8Dlh|p*@3XS#}(JG~s28|#}D+$gM7;C_hAYfn-LRJ)wn1EiRCZ&x^Q)Ox& zA~S=b=E=cMKa_t)FSV2l+h#-w`xo*6{RGV}< zUH!{SdgPHu!+;UC1^v-J)keeo?hFK|L6s?3jQtT!Y40@tY z(IMHOs_vO&dVG9#dmEFUFs>VygaopV|Lc(fTpv<{NC1>5LA>@c2uGy>3>re=z&^wX zz)Ip-um9pN9ACP4zTfF*~h0 zK#_s-PLe^QK)rVR!P%z0JDWfKM04fJrR_ntlNzvuiD9i#ttIABH0nHa-YXvC}TAMW?N(o7z&YHJApeNbSycf`O;m#xu5%5r`?t%MG4H) z)dEmEmieMIbrSM!`TwEqKZ7mJvhz%At?fR0{JGwz&#cPw)m7bHXf)ce;V}R`h8o6j zXeJ~|Bh4@-CPqId6d@OKl!lZ;wd7__5l>4K?uzL&Db3?JM%zW437L^k`gU;bfG z_LIYp$FUsL`N%sCXeDUxeL-9q04GBV+X^Jt7Q-kZ-!12REWfSPf+p9GLw6oGe!ljf zGVwi~>(vMtk^#nn$l3rz)ZooT20@sW`N7etwipGWwcdi~&b<4LZw+>zcyAde#zh^4 zDh)7@4h8cDM4*&FZJc*|Cnrl)*$X0;wt{{y>9qCnV0L&^RE4by3n0UoaWNTAxDt<^ z><$K_?X8VgvlB?k5D~@s>_HndIl4U^oSE8tkIq@|t?(>hK0reN3Xn|g^9n1Y(a&`5 zWl+su0$&=ib-#=|Cuj-WqEz^ z!&~2V-v7aBskgfH~akpYV&3xJF>rRIppeHaS@ zQE6LfM-qV$HLx1iI_*fgTF+KCmiC5+7K~6xMBb573J`!nC}bjIGu284_opM*jt6J< zuzvr}==jy^&s@2DsTFrvsJM^<8F(b`fuRi1bH=1(l|_$^2+1Rt#0)V26vWlZWcK)U zcsLn3M9EoISB#@#gpBhb0trnKR(0NNM2)z2;R|0XZvBov8#?XI=0$3Bl0*VUZo%Xw zSMj8(v(h~r&E4;PM{cb3K(>YQQG25q%vP^Gbg7eRZk^6*zw5<5S0Y_lP8Z|ln7C!m z)LD6$Pe)U+p`YL0dS+)M?j#3Chwt6Gbu`_l4jBWkC`zHNAkG*>WD6q@f`&*I0?v7* zZ7U90uvn{WgX2REEFzGDy0xpsu(PdpZ4-%cJTv63D zn+?t?T_BJnZ>^P_l{qVQ9W$z@S&_{Epw_js=3Hh901UXU>)CWXFX!aJI%ci)j-=#0 z;X^@As9K0=K9{bJk;QhVv}IV^dCbhRjQM#}^Qnr1i$8Sr69BlkfA_0z{^mbp)r@L0 z9F0--wDUx6XXm1q&|6q-wR`{iE#K1)rLE?xZ~WjZuYdZ6$2(vt! z6eW|KYW?u=FfWR%uGV)p`)kXcPB#f-E+r=r0M@x649NrY2DwMg0lD+&w6-8BfaB@x z&cV@1md`7#fs=Q2RRL!R=z%j5ky6cGyR)@1nO85r^vr+qm;dr_{Jr|C|KeX|OE(9@ z0pur1RmNdtTgzd7QUlp`_qiYa-01h-eemITKe_wprArrjE9-0N(xK{qy;Mh51g3Vm zx5sFoKz%g5u)WlrH(bV#PFcOO*jfsoe6V+#&zni3yS?d*9S*0bgR@T_JUN(-m#(LI zRbt_$f~vrafYr)b1=6$TVixoVX2ui^W+U!mZ@Do_HkmD~ z&aCHv;JrU5-fQ=7DS_yt?|$pof9dbJ?4+TbAm;mB1Hq(%9`Fx8_#kXIFI~PaMeuLD z?e{0$DEQ{3i=xpAMIsyrj*1}|M-mhYoKDKg$ygCI0?`v97E*X@1}qQ^lrjW^@t8{z zsc0?6biFUv-|86caNgYj_KZluNs&2EAtiqVt|H&KYBjoUOEe@7Ckn_a2PPa&AnnwF*<~ZCzHtkO-Lf06qp2 zw_96Re)9RvH|wC&@1|g2-n}0FvHz%}eRcYHet42asSqH)>+5MIp+ZR>c-CMwM*MqE>E+90JL-Lyp;#%N$(DsSCW@i zInOkr3~!^b8^|(K7S`Jos8y%0vtq5jpP>z}P=@5O%Wn_#gc3 z|NHFlUOQ&FBPoN%V!u|M{?cl1acMF zG9iU_We`OG{%km0TwZ7fOgrn`zW?}e-w2kGFPw9pc>t|-S>|odhC^{O-L+_ix{g z!*2WH;%V6RNh-Tr-75r=^XWsC24R#8)Y2_2=ksw#LaVnjz4XS)V(pI1G4r;$wYe3=cRqUm@$Qqs>9oDFePR9b!otG6 z$9F)os2$6|@Q^vCb!lDABH~RI2i$R>+9MeTOz}{rYJ2f2EkgCF&#Fg{?)|f0`})^^ z<7>~q`dlX>4{-hZv#V=sHdKs}Qr_0H`K+GiuXx>woz#e)072CovQv zZnRqM(M%U*v3dFC3om~<9~^A0ZoK;HrvQ=8H-HB`7ufU0ZE!glMg^#-znbFQ~3XMG}H4pPVFHg)tc;kMsZ4|M{;yySA}? z`P#6Y`A8XXgn&*a^O3cdtEkGeA&cYw&ZM=Lbe41shuL7Zf9wsQ^Nc)4$Ud2xyH#;q zS%rhFdf}NHQn@tNu#}ic9%bc|dk-Gnxht7d5e|o^Hx89qLH^2wK9`uE0Eee>HN)F0eB zKG+S@aA|SX*SfBY(y*G6>3n>8^5o#~iMFKTm?^cmy0UZexghFTOUAgeuH$BE(qy4D zgR|3XakFJhNg{EODRjmigmTw=Znbc#5*P>J(P?h0It=3=6zzV$5yipg`sEj%Gu{PU z##ugm=bhD)vu&1awz~-6taIoP*g0~CaRz|hX8O$fVp!)R%SsYiQ8VXSjlc)|ai;U4 zt^hIQB*kf2dsDRQ=gn8=O%^5kvu0vtnrKAoSg4FNu|RKoYG9 zjPXfifvTl`YLxe2l~jab7)a-d0rRzHfEKi1jF@-i89`a*#yG(k02t$otODJh3B|=LH3PXZu34(RlCHTgP`lesKTxyt2b_{_x2Ys>++! zcWhORr}d{_`O+INy+)Db>-DjFaxi~l4LQ<;b$cQ8&6>N4N{3o>I;y#lI1a482N0y(azoX(7OmC?r0m!H3xJbbub75Qj7<*+1tBVfXLVGNPoul;=m;N;-rv!ihu{&2ssRj>$v07|kJNpQ}I zaZij80aOw+d+qLV5VhLvjjhwe(}y2FA|-jRy?1zaFxA%RYu6V)_3BG`o`3M|_XFlR zc;`J?!vQ&-+hmB`_ul~ryAP$Wn~k`gBsB$RvpGh3eP^TDZeG5;lPD`AN#38=Ip5FN z^YroL#aeG?rLz-+;e-80oTk}i;u6-1gX*9-&M*q-%DVApghCMm)ncKQn3u+wB$#c(o7oL+cYE{RKE%1f*?$O7Ws{IQ*%~N+a8pWu{GYLO=57oRKn zAcOJ!;|Cwze*1Cu&?P#9aTQjMqc@_rw8#~2EJ!g#RA{U7KgTp0$-`R@j~_k0+`XEC z&Sqn+OTnq#Sqakaa6F&oWQ{mEyc0vcy}h~6Opoq9bagtewh9)SLK}N-D)Anf2maH4 z=|9M{|L)KK;@noo83_Ok(HQRxas&dZ>YlSZ=zX1S?CzUcR(0Dk5cm8w>rMxQ&d0aJ zgZ)dz{A)|yVy)L`_psF%ef((Ap*C(*pIL1fW4*Z5jvAaRBw}9jwBck_XzT=0+Ucgf zQM}ODymr~Qmn-&gJQ}9mu8f0T$d_Ab%v>BvF3F)e7kYRi?_FWb@3U+Pj`wy=S%^ln zzqQj}yMQW5A~~Ap6eJ4^{bGJN7#ua*vf1u`&*t#`ABHGic=i<{cIVFRkfqB@{deDa za{vC`_2t#>O8fTVpqkfZk!x>fMpxRRh}%)O88pCi5d_EMQEhT5RTL!7QI_RV2th0X zNOBaCx0`K%GtPNYl=FF(CJFZ-7-LC@n$?vxdRB$1tm~+p2^C1G02z8TMw5lIu7Qv| z8fyvQ+#u-5BY0;V01}y()jQ45b^?nSS#Y79d4NE1Zp>1@-H#2JDY`hYmVrZWqd>G^ zDte7{aa-Ea3Y@v@_>7a3rd5uNUkxym_PB**WOXR~Tn7E+h5zAy{vW*m;q5ygJZ6RF z6?^{mA87O!cP_knbg-MY!>d=Gy}G?#j88uO#t&-Xg{|7W!5!~}D;t{^UtamtVEWk6 z^uvd5edm+6PO`CTMx&aO<*Tg@j;PX=M;S%?Rxr!q{I zEw0b|9MsLVjm2KLP{)h4Q(%qzo+=a($yo_{Lq&S9XU;oxCiEq{C*n%AxUB;Wq;$s`i+-5iyJ|d7USWh zI1w^&mV}I(fpot9L+hSD@L7WKpqVZ#^fK^)fq{sc#0%oyk?D04bfLot1s@Jii3dsC z9A`BT8!P?Q0Xwt0a)y)w8KO5%eCs>mqKHN7z56H58b=0z z2%K*$C5^4?z3uVg-d-_c#wW`wVY6%FrTwvEQC|pLXf0p9e2p`%4Kl^Tbi4ANBO~jW zV^L%jmq8$Up<3-r4|L_`vp@Q0|IDqo-|M~lxjY-^@4mVI$wzWlTE=;tSZ#&?nT7pX z_1mMdWblmkFLNq|OO0vkYUWMR=KDLBCULi^=53jV@nZAUtFz;yg`G78LLx(8KC`*6 z0X=7egDh$@B~H%O&JBygC=oWBsu3i{FNrQDo(vgsrM8(R;E?fJ3GD!l)7okajw3Vf z`*(q^J^SLFkG^~T#n)c?%ny2|>dG|JR&CI!GzgnQwt(R|2I~Kt?HNRz27~GT{{C%S zGLV>i5q6TWlN{fD>`b)U>$O)dOzLdw>iTdpVgSIays{8*PfiIS6g-f#V&aSrD3K7= z8f$WCCj@e2&Re=ZkSfdPXM@4k)|$1}I!o5cBwAcbt?g&Ud_K>zdFHL*z?tBI3ZfuN z)28!O*Pa1`r&=!nqOvHgbIv>Oslt-TBF5TgXmTP+x}4jf)rzM{6kyct%E*q!eq<2^ ztC-`e-`eNRgYs}eDaJhX>_k|H6&u!=?2sv8&6z)nIYDQsM2Su_&rbQg^^`=d7+Lku*q5x`esv z`r^e4{Bmz{Fuh>co?UWc^cDyZ95Hl243Kk=1dY|Wv$aB=p+iDO4uKnFo;>r2mdoB! zXQvwp!IDV5{cw11R5TR}8MdQvsVz3Us@n*5mikE&0bm-2f9XH`^Jgc+-Ftg)efPV^ zVe(*cc}aJsH$o4@X`3;gGbs(Pj;AHXv6{p2xL?Mi_FTp3tF*p0aJyw z_lBn{(}lyI|8KV19feA9!8rqPoS_5nJs^lyr_*WAj`oM6SvJlK@@8BXrPkxw#8|h! zxwQN6@MtjDT4;5*mIr62hI^9d>Eui>P9D6smHU1t06=efbLYmV)-FF6wiW?Z+>!wL zbU4!%MUVmjfd4nGZGYGX`1RlU<-u@JP4&w1WzX!x}eG0zD}S2d!~ z3oWF`xff&=1Yr=4N7+Im*49=`LBRAZ&oVRMJdvmhJ154r(uFWg-DvdSuz==N=EY_r zS6|(lSM%ZMzNly-#zu+IDJkf==WaH_9WC#w5t}lI|*88D#35Xeq|x;Hj=I7 zPNaA$upL66AOz0qb;9UnKE?I3o}Hv#k_06|Fy!-fGBZ+Hc0bJMw7UiSDtS)zih{|%G8zwPngh}bEyr{y+6Zw3e zg|X!9Jer$4Q4j`2Hh=Q?adh=k$YWz_Q3|UR0umz;$bPHaiW>|F5w)(%+UQz4YmBzm zIOm+!+BsKO6)>pEsx}%Cq2jjUdyhw3+YKjtIU*cYa~d-)BgIWw2@$2T83YL<(Fwvy zIV$`#ZLoE3KDCB%C`=hGrD3BPl-eu>-HDx#9QRsqAjWa)(&lhDdi-#od#zgSW^d(N z-+kv`G$pvYaRqn^xi~1D(dP6pf4Db)P@GKrG+2gXU8yi+OVKJODM?pM_fOvWFlnpi zvzKi{s!)`=Qc^NJPZ0B-ab%1kBag&DvGb-ia75;r1LDX7#R5i*@zScbrf3P`R=;>@ zsojj6(`8LXSxu+DD2t_qW^i9O#F$@ed%~|uzPlR2BPnBlluL2><&JBa`@t*pH)AD*C{8w(~ ztLslb{^wE(OWt{#S5;n@40$VUCQ;PvM4fI_JKIfyUO#EKVj*#5rQ2$URW=r&r654- ze60dt=)gGwkX%Zp0G)B3-1lF{DpVIQUm<4!zo(Tz-dkKF`u=l+f7=Ey60FUA4rwD= zUtFJ^4CB$@I88T~}tt%--WsK3T zHdb3}o%7_iv5tIR6pp-eP8;o=C4ittTRDGP@m9*gPmX6~b`@Nt53@ zIwtSC4el+Jh10B}tlkW$)@7TQ-BEe7rZ9IRSuKW%J6FwJGa5%j;oQ$B}F$(Y1>$c*>7LA)vR=YcF*D ztIilx)^$Fe9t2Shb@jk+EpM`!x%$$p>*dv7{*`|;ZS_S#k8u9agQenhp5Fb0tbaXD zf5b%nE0@Nfe?5Bb<;LpbH$J*&tai>?XRUSKkz}&pX{{}FT0*U@E=)_?>BY;d&2G0@ z*R_mUtT;y(hN9VNA*Xqoz`3`@B|*1Wr|0I|Fy*0USUa zgpTZJGy=|?y9Qa4H#i##}R zRtVjjjkv7pg{TvW1sljTDT{nKnT$>bbHPH!Fba7ujnG4BwDTmDXeYcMhttw9&U$H( z#zC&_cveM`3QwZc(TTL^3y_3#`Ec<)RyM6?~6tG@9!ZHM3`lk0}fC2_xOG*;Yrv@ zl6IXNjKkc{x}9KUF)Z^kPQxe_tIOTdyf|j{{^{Ym>T08Xl?MTHHB6>?x8LPl))pCv zkgFt!JrObo#2AqSE0R!`^^+%0oUT?@7MYY>FfJX3zMNtD<5OdWCn`M)@Wu@Vd_xAc1TF<0mIPo#n;Q zPI7%(KN+2TZ~(eMMZbrgoo2T`J{V65l0gNw^P_!Dk5`p$v;u7nxNJafdc3z8udTGU zD1?J-FB=^l9vtrO4SD((YipO{R!I4k_1HOpH^dr`8M9BrqY8JLG-RQ3^uikvQy|T=O3Op^Z ztVdz+!=Jg4B#Ltc^u}96UK>5ntFo}(vXeACGfq|BzAee_s!R0PP0{WA3B}oAi03ovyAgJb6&ps57$5n`uXb zg<@^9rJ9Wrib);@JW_l<8csdqf#S^hNXl46Rp=_C8CRj?*0`Vn04i>LvgRsU%Anp2c=Xz3c#SNt4dRC!AA>Hu~;$AI7=I5 zWJXb0zW77iwQ+=&jOUiiL{wG9$(8x+x8HgDH@@{v>&uqlW?bh-RYjIk3EcIzdn8@ut>*~7K0Fd6bZqRNm)WW41>*;)i3>tKmPxE@4wi6|GRv7X>pv1(adbF zY`*@Pi)-si9Cp(HIW5q!Ue|{)D|H#_B&mZa!I`eO zbz!%o&Ah0~TwAAo7%2>ew_a-~SfR;~D+@W%b&etiBBh@gxEQcVls@MTeEkPM)mvP8^zh!T$G6V-V7NDX@X5j6gFOdu;rhzBn6lNC z8R6de)SZ;ASf-713VvFb&-4=qaXFh0b60iSp#+KkWL^{ZkrGQ%3GNnJaXVImfOA+3 zL}6^@+;Sjl!vZd&C?s#4CBa#!yb|1V>UYAh)mRv0-}|Ne-cR0t8*T`I0D>`K@ToW6 zfdBRX;*8bC1;)yF(PAu5r)>+b~rgQycUcBh5}tZ)xI)i ztt+j|dRBXXG8v&Pm-@XQ{Grzlrca1wRO@U=jb3LkW5DR!AH698Hk}M}t!Kvv5pM=@ za^r=ac{P^}lNEEuSNof-OWXauvrpc8`$>>4XpVmcaCJQ&XPWHMdI>cvjDv(j2> ziqUx9j2pcMmnw*q@IYR10My>2G9d^7jK>%JSMH#s`xwNp5 zHXFZBkahq;Bni*6OuPqAJ6wY}fA4$}vcFr2>^E{iEhG#_*M}brlxp&$)tI@{2 zI8IY!vZ{@BnfD$D854@+|Ho=2Aoy>w>;8XuhyY*x%93EAVA$)aF!fnx!88vK2Ay6f z&+=9$t&Gm|ER19}EBn0=z>((0>EW>`q>}-ng39Am#uY(P?uFT z9d_lCN?0gu5MUsMQjBwyh>|hR&-szwII!N;wXck;4HcS=$JKCTZ3)JBuvizygESS) zW+e|)t!*~0jrRidfBC<>35duD93m1SczWumcL?kpAH@)y2hKerubm^tBzZ*X+&N6d zBLD+t0XX^dwQ{b<<@lF=_GilBU|0ux!-+RKPJ7MJ|H+?x?ZdkVx9=RibaS;Tio&TM z_|oU@eDfQ^m@5}I2X$HNup7h_NAKO})*!$+Iu+9S-uMntR5)?)RJDzV%pJc;)(rT!w%}Ve6TpDXg$uLdg`DBtVgL6)(U_PHq z6;4M31$6?>0x`y?XL}!h_jf=0#-9txD-}oyfs}zl&NxRB3>ky-6HW*spin?)eO6jW zP6bj52kQ5IfDBMNYorqXyjK{<5yvwf%4}#9@kJV_mp%O^1)e|=V{z5ED|thT&yBy&B;;z=>GlX zMlhR+U;fQ+*@RtLURG&$HdAF$MWU8ehcY%!+6r_fkRvc35Gmusm>WwBJRuXDJ3>!R z06*s%az@BFd5?@CA|eU^#?BE~aNbFM3|Rl8AV~-qSO7yS$5j!MS)0X+1!)|J}*cEKwv_wnb)$C z31Q_6gGS`-Mp`YDH@e%m9_{H$TIc%_%1;89* zz)^4{9xx7wK#Bu0$&g7d2|Pn0d0sM*-j<^>=F5Cnw4pPtR&z=Jo8NB{}oaUgT&z39kaJQvj>J>};xYq6}#!O(c`BN?^ZLa6f~4Qm|}PKgM=M;(5; z4-k%yMqO}{n=}f0D~r>~JmoGlrV~oZowqeZM%M8xOB5Sb(@a~B+|-68wyb<^Do3^v z5}TW%AY!~W{?vFG@esKL%>em%hy-|l4s|}y1^~~1Gwu*AFhSf2#u+ep%GL)D=gf6* zNPy(M6~NDVf<(wUk@w#FB8cnh)Y&Tzi>ACLW z(fv<8ytDgQIB{`fyW5U-kB5w!Z@l{a#m(jS-hJ=>od>;z&T%;toYFMT>mpLzXq)SD zZDH~8pqPwD%bOeBb}wx!sx5f1pm+dekPwh_$sD3bWDGq@5Cj~(L>okiOmHp;oI%DM z^i8Zc~L;)iNSnQ;i7sL7CQIl2AUtWsSxSzI!MOhhVv@^Jn z+WfK6K1QX&c32fzi&>^k7_*wJCkFuMHgLw+IrWtx0a`lu!lPxt894w)fZii9L|_Ey z&&RwBJ+X5RC=mcB$%S{8Ap_`in&9v4pcy4`jXF16dwT)z@aKAGp0^N-I)rzg{k>-~jJ>u``A9G*(4 zm}uVJKlXKXDPB9vAFf%J$ZfC)kpOmYy+2ZA^YIrjjB%5!9j z5l6?s*VbE-g2U7N9RhI<0rnt{_Q!Q;x}6>h3L-YkCUk7FSt)$0EK5XRW)3-zgJ?D> z(uVAIyLCCxl?%CxW5I-COoc&s7^deaN!8v*c{`Y_Q!2xg}0CeOT03p(O z5(zmJ;!J1r-QCe|f4j4@xcI`w+2FVsXBa6JM#Q+4hSn~2cb?-a_}9k(z^7h%;Y!=x z8x`f3mzE^sG6Zjc2P#Qp z;v#19Qbgt48|2#89Ro($&MNw6H)0n2L$(NCvCPlh2WU|6$a zX46JgpwEHHh6n{;Sc_ZB-Aq>pM?)wTh=?0r8`llt@=|v^n>rSxNxHGV&ljGKP#*o_jn-Hnz5RRFFTaG&1c7+&`4`R!#(<0=Z~z34NW?fJL?jOAff%3% z4&Vh6GRqkv1I7TE0|s1JCfL)!90{(jtTsR#39L8BzE|a+qx#?+mfR{CQ<(8PQ zs_3?g6y?qu=Lv~`&QC}Nh@7EE!59+b=Ov=^z&v;aj^~FV0($U3NDRm$NKPIYeQ)e* zJph46AM`}iMk0?TM~O0@>ug>F>DA3vYmu9XyUbcM9E|SNtPCTSXJj&sjuqOd2#oM3 zJw!HWOOXg7ay1NgHMRB=`>EeDiD>gx=EvvtZgoNS9O*X zT~n3U(h1aFBO;z>Pyyp0kR(Tj%u9@7Qp}5paVBaHRgL685-DN>!7~R4L>#~YG7f}*2*?1yBYN~e3>`-n z2%)%lihwy+0+*hEld&i%3`GUtJ$H;bs?RI@^K$<@6bO-7N5qgZ6oiupdk^0I`u@B3 zj(_JpvA>^WCkVFK_dz2LH@Cf>pX@)7D=WS2FD+kwUdRA{{}KU!Kt)-PZ9XcPBSa&z z897V^=TRU8m)d&keJc?}!NS_*KlQ~=H+!qIqR7kX@tu43AMBkt`8$t!Q^vI&NMy{F z&Lc2aig*sZhju!cdS{Uc{L>^zJcs&o28ic)=kv%TKwyL%5&8Kkik_Wk&Jh84WJrvj zUR{s@c@GkqSb^2W1doz(lrty=!ut9`E$Y^S;7g{IMbc?f!NLHiMd5V9>Ll>Bab;Z@ z9x#=XXLjl?d?lZ+P`z> zy~%JEv?CO(HdX`PJv>t!6DCeaBXC#~&i35S=Em#KZ@9YH*;x7b@zG>B%%?M{LMcUn zRL)EimMUg~LVghA3SOe zvqk5fE2|WiU%HguywQ#u!L^G)9CpTo=IW)^<@BZ{apZ|Jx$6tk9^c))Kgt_2klOV- z{gv&Nqtm0)`MAzN#c`tj*6|2$4KW&lu;( z7)ivKgZCgBji}a@UalpJ| zoC_gC2z(tVO(c*QaBdv|;|{<(&l!)xxGpMBh6?}>8i0}Wz^tcoGCqB{d-&daCtrVa z_x|ns`@4%{^I~g35m7+KD-2mq^5MN9lINBZ6MeS;5rdb_@$)!urZeD#(#Su|e=7lvB#oe|3(x+}*e(>Z0 z11~`boFQ3`=sZ{_=aWpSR>;LPn>vh0n9t^fgB-c;G75a&UpeN=YVl!NbYGe z3c&ZWz|O-V;XK^ZGh{@L5Sa6lo|zI`mA(SsRLvu3#U&C z*X`DjR!>B;S>uwzrs4q-`arUzLH!<=0T`pERcY8<3fw=;vPy@|-oeqyd-wKjD_vU_ zFWk7WyxzU@WbkPBZWxCf+e__6y3lD=7yRQ#yT^yaI%mr(eTIHA%Wa;mHB%vjq4pv- zV)t>>kW$46&}ye?Ck8a#GiPAc4D+AhqkZeAmm&HU1k)&af>8fzO z&SI8VN~zPMVG;+Xp^*8lt@X9FwY&Eo?(RN1IzBnszkg-ts$}ZgwVU^L4S^>|q`_EA z{Jd$+0ErlR=Nx%!oprt{>msl6teBh)?mv9!tWO(@o$jg%dYq-_n2aD)bzzIVATI*N zTKzsSLS323Z1Uvb@btOmXggOYp;&7--+gkpvvJ|Q`+M8T!i`HCXRXtq*$YFK=lbr! zsJpQG#m~R7_vFCUG#$_PPmUH>SF`NFM!(ZYl3RzTN7Fox<)|($Z(m+sU3z@yzAmSM zV6k+Lb0G*B3gMA^Bu-DGG?8&Y@6ZE+a~_3cfK~}fo)mJxa|jXRj5GB7yzxQ^3?u?L z55R@<-dJDejw?1B7imYvaggQi^mN7<_mRvCoiunFCzG?12-en?Z{K-T*EKot&LeWp zHh3^O`(a@0_vPXlspjTI<>vUz%k^Edmpt{MG>@Phh#^#5i{_F3b#CxVbRP9;;Tz1Yvsph2C=i z`i+Zc)9L%4eDuYIHvk!929Z4YR$c;WZI&mhuvbFSN|5hMJ@t0`Quub~hv}T5ECK zX61CMtO`ihV>8*;tyWsk>)rPb%vh_n1~&}+EH8!^dOOgXkIETUmM157LPNx$^(b2s4`d4rN&{v*koFXNjdv0?)oMPpdmzIM@?;GFzX#e5< zjc2cIUtB*qK0(HsX+mp#pS#o1xTV-qZ{gs0SibkT_UWaatqWW0_aBzJD3}0&gbW!+ z28>(gBnU37HJq_fAUM!uys6ubwq{mo5wrz@o?* zcdd5kE=d&?HMve#xh=Fky z(KBG&JLe&r#zmR$-TOoYUvn&4T)p-)|IT0B+PdihIAflB^lp4M{)M0WFV5cjprMUy zglQ|8r7FC%9j0w+Fl{Ijp>jqyl6kKgEiTpfA3?>#<<+eV7e2bPs~C?Nbe2|Cr}_NN z=Z+3ez4ujBBj9j!5{0VO>B}GxWYG~PL?%#x3OLtXgfdQ&n>SxwUS0=Z7pF)0H1BMz zd&fQCG%vsN(LE0OvoAgW;P%6OJRuQy%Typmm@Fd}g1nNm@z6no5i@1c+K%*pLyk_I818?+A{EU$gn~au)vcs zwI%MQjLJMWaF$NTR zkxk6vVmE^tC0Wm^nV(NIXMAa)Z!K1J)@n8YJ#yUK=nKK?N~dY`V?Xhe?N)d1c=urM zfzGqZWY}t@&Q)6*oo~N&G8#-i{P0_6C(~wU0UI}8|Lo_6XM1PIhf7O6XYAR@v3D>U zoPP4j?XoVdHQ)^Z0Yd^#U@Y@ULRaPJFaxSls+9{jUVi!J>e3R?`OMf7^PEeqp}hBS z%VK~kYld=d(RI@9E0-77*LbQ9L)yGxl&WR+qkq43;D6`u3lV?wU@fAl=6lgXqpygkk>|QZ!AYAR7gw9%|^?N zC$oU5Y+hv3QYwCF=hDi?=J4$7{-Zl_(z<^2#>Jfrwzf&y;1ZvE_2skSAQNWi^7?Q7 zvwzMN&gLV*e4v=E-RNvS8XOM?jwtx_S8gtE?EHoQ$$uIMx3rjYa%DC@J3aZU|A)W& z;K4mpYbL>2eon?aACGy<5DCaiB{w#1zViC#U;TlfTH1ULF(@j}IihEhgK?HI!P-3O zFNrkif9m>?qjagCZm&Az^OH$d)W$m#NPS`Z!t0-@rZX0(#0%DJq+1(Fvtb3v&1?7H ze0TTbkKA4vUF@7*a!O<(=wYH@xh(KcKNPA93ms|xxsyv$oT-vJa#Nvlud*-9Z`@@rYBfz{q z*jep&`U`vCzU>6%mEGK0yzETKBNo70-~I6L__!5DVU)^}EQyErk9W3LE?-zZIywD? zU;l06{mSy{>HdR8D=|e}dptWERi*YtQ!w%V{edp5x3kHl7*6H_lZTI<6vfOg7s{+C zOFPrmuhH|LW{5QKus8Y(0LPT=tT zn#@Ak>@;8g^rye{<)6HM;|B~jXERqCW3Bh($s0%BIR>0JKL6~s&wlCn$&uPzJbv?S z`}ly;xVzBJvW!Ut#bl?m{iPq`&F!$~0qlg;(Dd{*9ne9&3n*bY=@^CIuI z=eZAv@>*ZGvZIS-Qx@$cMDVpKJviiw7&u#TWZiCWYinIe7O9|&lFOI2Ta9*qd7-N6 z`Ft9v21kZWIL1pr^k%H>ti)y%u)@T4)(ipC`1(uFy#1ZQkA30w6_vgB-kX=NT)X_t z<+Pc^iTcX3+Ym%9uY)-K=-&N*{u^&v3mG}%G2oCDnmjSay|tdsV}mWSr+L2Q&*7SA zfP94^Yq-(0JTlqig9Qv5#IpN(c3>l(49DeL@7*s;LK!brQi&v}s?lKY>Wzz$tXUEZ zX_#3&-8&PF@!EDWEA?zx8x0^;vJxjz)17LqjTCY;n@5paXr`aJarw@p{r#hCVX4h! z=shehc2_USX&Hqv?={j^yK(#elDicP>)L?)xn@XoE@*VJ8%4v7a!eybb7e^XMXgHk3W9$mS{aRFqn_mmtkWg zZgw}{JbHicVfN|QR@OEzEcRNb9}nlheLLy|5O(B9tD{c2WfXov$lGr(~t(_P1$#k@{ec?)=w%0Cx=H?rpdF}J7tLtZ{N3CXS zHvakD$G`sOx8DBQKb0>ow2*2J5Eb`16 z>ybndH`3lS^&LuO>aRPv0rQaXVPj-)|pFB9* zJ5;A5HPvo=ZF>KaHzpnyv2qW7<+tki&3m`r!;?LhDl5ZKrZ=v?6sTzP>Wv%ET~}$) z2t@)|TPVu%@jKtnstibw$0PyC*t}qbC}e<0r>AEGYI)_#!eUnnRFYGYM$^I0>H>0q zuz&d02ltw3`rM@pagwyVz0Okq-FpueO6;VTg{GozJZLD>z4`i$XJ267{e>`6sP#gc zNNXYi3+oF?hSvGW`7n{rRWDt?7?64NGrGW_VHiFfqnt>yi_y=&L6-g~fH`2cVRIl}tZWPv8PKqwfjH*m7l1J3V9eu31|5HbDwt35*eZ7$ov!ci(&G z@}-KiO$NXiF+}gl5d~8H)KC2AkNn7&hbO1^?%b~HYBDbVPyd&{cKg1+=g4Ve%0dGn2f+~Yw;sRydxt3iMXXtwU^;W({^;~~ z-w);mGt@Gr*+0JhH~uaWD5#pXA1yDv_Cr4uul4VK`-9DAu54_r$B_yX5h>25^H$V} z`c3$dWz&p-(ymTJX={@Np>vi2KOPT8<5`+Efj9zsXSuUV2rfc1p9>z0N7H}yYhUa3 zTGzKW>O8lox0kyQ_D)-^uJvL(t(JSicDx)w)mY!@r0ui8=;7`mHB1ymy3Qr(`Q8&1 zhGCGney7=9w61ohynJzEXJh%seE#_0w4Azoj}P~bC#AOF>{IRx5S^?4$O8}q=A1^r zY>I>NNEfEeD(>p~ta3%wpGS3-*Fl&FBwZTkOcXRwFl3A~MT*Fk*DfrEiht)jcfR<=&#WzX zTkY`l;I|p1OREX6$q#()8NlS=STwtFHZjdsM~Yf-iUTqB9z55zR#J6)o$U*~MU%A$ zdo2j6C*_<<){Qz8EY61bc%SZmcda})`K@1zt9luWi}Ezo73I>-*+jPgy?*#i$LzlO z;Wxfsyxz_FapUD@wyT(T7TEQ|YP>0`dGaH~+K$_^%KcX7tDJ zeRuh}bq>Tp5i#^Y1dhN0NG{jb);HExt*7_i`KXb$R<M|ISZ4tM{Zj#jFRT8rbTt-b<+Xtrqc~%XBycuQcx4-rlBRMTn8U=g zNF|HwtF3W17E%}vDq<_WhEPf{82C}Crws@M0ea*CFP)7+86fZV{>kL=@%!i3NB|5*!xrmvqnVyF7mUx27!h&uRTVQ&)jSpa!g9Ql*o7pND6t97d8_qX zAAHCz^nUQg>)C8LI6BUchD!c$e2e5o;*;Lv}PwqLbz5p%}%+VFf<#T7ASdSAtQ7=Kp9r; zX3ysNtq;Fi4c~n6!pf(fyV&hQb7IHk!*I$zy|x36=V!KvWzCMH(y@q4nQJXMF<{69 zwnS(x)XqBu%LIAX>&5eFdUi5j>^Jh#-?*{$-p6~-T-jdfRYctQ;75Prjo<$5@7}s~ z0N#Y5YNf$sk{8->6wdoVP^Zx<2&pLqGguKl-WHUyH(URvF8Lj4*QK4fnOPM2s_C5+MLGvd#c=3;puGBPNPPW8o)fuoiXIe5)yJIcwT4j%uFYTm$tj1 z#P{F*R=3?--q-+yW)dwn@Zw^$7&B29f%Hn^41AttL~b}9y!-Jnnev%Sm#@F_8CPd+ zJUhN~U!7*Mp16}~zh*Vi>|_A2*u1$?ijO7&~i^HvN9+)*VOvb&TP1!iZTgiotEymaTopI z_~7RH#qA@fYX5M=tn02tU(2F8@Z0*V1 z?@y}Y@Z;mz)Sv2D%8ue4X46I$du(}SM^Kfpu)(7>xtRtVODQSft06NcFGS0yJIyfB z88TNw!xzn^1@fvoE8O(75Z`$B*9GUbvrJ)@yTO$H-rxTR@zPa(*>#twDc=?N8_~Q13jaltWZ7rN@e9zUR zo{+TBNGuGLw$5tL1V=#d5J{Ix>bnfd=g2*j%y~e{yj9vFbLf}@QxXJdDo4K5{Y0&7 zY@n5v+i!m3H~z+7{TpW|M@e__-~XTfr>{QS4QCG;$#R^;96?HUGMRJE?jHKYB7D2TTR{R2k@&uJC9vRvpi4F&}1pV*SjT zdCAdB?{BX5Z>;yre3mq#q+z0NU$`oe*lu7m4qGyoWw0D?^coUZ2YdHQRW`_lniL~n zR~bX4!m!b9`tjxx%RN9|4D052If)m17=y{0!4hpasS*Fhcy)fJW)m#q(4P!fFZph>m1l(* z%`+)QB*Ru3t@N5Ss?MVMi5`rr$?5T#)@F2i?9DrO?(O~j&;Px{lf!pEc>5=R@<%@V zxi`Fb;K^2%bM_bi@h|<>Z~WHw=Jv|clJ|}a;Tb1FBI~>Z!5G20HJ2E8I=8@hMhp?( z`0Q)XJbOKeV#Sp{56*IAjnfv&nriK=0q?zat}YFtKtd)sGvo=Kr5i_gX9Rhj?|XY> zD`#9Pl{R*oO+h+D?kLa%4y^KMi&AZ`RK>i`W1~G9^VaXZb@#!87)WPNzVVB{($mlO zVBFZ*diKW6x+prWbWfLpDXm>u8>u*uE`Wv;;RumS^3FNS&nJr_$tydnAOxu)M2X|f zEIVp8npXuacNrf2 zRv>w@1eQd#a3QfXiE)8|CaXJ9VmoX+9ImgdJ%4>WJ3Y~!S#Oy!alp5C)&m)2lRS;0 zg;sky%}?2Y^YQvpkB4Fcl37)inXOI862XstrKbwr6*qXbAM4JdEoxq6LWM)v+knb-!OE%s;>>3A6iL9AU%YJ@p z3y@UE(8mkgU>TC+;-_Ew=|F}-AUT&ZjBm8_?DW^NS^50U=R2LQ;7ZD1aC&-p@OYlh zPy`I8ix4ssT~SKp-l`$Qfb*527GVW_!nX z4+pl$(OCiv=cco=dVS|g1JlIM6IKfaJQ8TN_dL&|m1~#1cjM_iV%(5<@6Np!E?rt% z-^?eYci+EtwD)LbZSlqn&#ydly)agehLin+)1$+C?|cx3$@=1ED7hqGfG-(#m-s~L&Ck*n zS4nGOmd{*XR+FhVVrG&YqfwDZa|F*yN-h1%ymwxG=+<)-!@$SLl{{Cn@ ztm~>S^yQ0JjkA;KSjvzKd2aC{kc<$>6C;mAMDVod4*JjSDc&YU>EW0U$%Py5FgeCZ-X#6}X}#nDv(z^n6a$EHB7=>;_mtReA_4 zZV7N+pYA>Crp=gmgr z$}G#v(%yS=AcH7P0>(W<#>kRq4v`CaZ};)7dk>{x0T)WJ)I(X+Nf@R+kII=6;F(~^ zRU#f9!CB6;M-QJ$|Cv~6FBV1i$-M^;A3RuC?JstFk_UXO&DXxOd2MH5ZGCZVV`J+= zH5l|h`0%U0`PKVxe;@)CdcKu5WI4xnQ?ygoihXRK-H5|#?N{G?JglqzcTf6_$bj}G zLyH0_4MZ!HRaw-g{^-ubUhLOWPt$sBacQa3PTQ%g{bVu^M3N?cD~udW501uZl!!P5 zs#e0SG>y)(QC=IZjpNc86Q%(dLdrlpuj@(*##JbhpBzk9`%6X_AK%}7us3W(X@4P@ zmSs0huWl`x%07DQlcl8?j2}-j@*tF`jON@wbM=Biu*PsiUFw-R&hv6+t`dblu7&EJ zm~3i6HhK+QYqM@IXavY7C-dFo16DgQaRpu}r%)3r8$?YJU|S$a2vrcYe5k;yRul^t zw4*2yK@_LmTF(xLpER4jbxi)%SHBu?S(M|0gT1eQ^{b!UdDQFmgD?)F*eIRV=sQrAReJq3(8g6IC|PyNHc^NUG0zJBAfsBIq@NjU*21`jIf^e44LBR8`yfT`Nv%7cS zeec~u&+dG5`*8Q@^yF+ZIsG5~oZ`RIp(V7aJ0b0Utfz4CI(n+o-GJRTbGcOLI4QNDPwyDFqLxibklI(;&< z<-EVv3(|HNi&r-;fB4Q5ohg+pHR8GmM$_)h`~JXcf%+U(@`EuABtcwnxBm(?RKZuW;UDN*k0RQ z={oW%PeB~7Ib}+=!o)%BpdQbQa-w1HPM9#qW#DC=XWp75NSbLQqO=(# zfv|xRq(YFQ8AMUkpfH|SAi`!4x6?!j$He{Jy}g6Oqm#4aJyb=rxeR4D?_ zxxgT@+Bno%T`R#HkhNIU<Irx*!lrhm{XuR@nOo!#Kfk zq1mf42c5FkW$x!$9(3c?%}p;HfLz{Mm>dUF)Vcx3)%?Niz@<(y$s{L+h~SY6lmLFA z-yWWw<+IFaTb_+;a_@Zd;KBaM*>tkDx{xG%sn=<=62!_`*KBo?D47hid%K6Nw7Ia@ z`|#GCelz*(^VeEwgizP1afiMek z8pZD_r6uvd`QQI{*{5F7x>+gev;C6Y*9y70oQufB5QnX6Z>T#n-u5R9pbkOMJXQa?M5|x|>2jsm!55m(Ltn&ci$XV^JF}Cu~FzY;#^?=Ac zBC}+fVR5(n=l}9wIvbtdd+_j=e(|3+TIuzxS08@-2@3+LLanv+Kmaej{K`huO7@>&lLjsQV|?DV^bw~o%nV{{&nt~_)7^yti3Y$j2sl_m^bS>##9 z0IRahdgFm%veAs1&3vA}f9uv{lBG$52f8YXPLjk?kaT)nBtA&zR0tK71~hBDb$sA~ zF`&88;Jmg*agKty(h=gUtdJZ>6o3{nNfSr#wcq*H2k+m0<%JhsnAfDUH$L@xXMH1` zjyajy!_m>8TI_{aFMn-s_ucW_qI*xWIpXRtrBiBwfq=kr-lDuM?CiBAQ1`zwAOo%&U^44 z{5gY;q~r*cBx-ee@ylQO;?+x+8)@pn*Hw+crQi%1GR8S)hz!9xkDS%D_5@Cm0PR2$ zzxG}#ZkTflo%5yw47|6<5jZf1bj$?&J3sX^Kl>9ul@IoX z)styGnayUC@!`?_@Yb!_ox9+DF)RDMh5zI~{wu%u%fIlq|JHv6TyQSG^rbH^0&v*~ z({8iX5U7C)rVS&SZ9NV#O_X2Xn%F38p+u9QsPFIW^V<7xF1JF4Sf*2Vx-U6r7ljC?{MX0d~`Z$G?R_x#Uu%YU>tEYpH^9x zm-_zE>BIeltjs_4;tR(|2hNp0{*}*O-ChktX}#BVtpt}SYA}I{8qSh;4y4nit+eo* zBN1nkI0_*dLr_S@atNeAu7qa{WL8z)H9S{{LMRafdSu{iJ8p=@APJfHEC1vF=;#@C8$Zk+z>|JT2^f4Hm5dUa)WYvz$kjB!?NSLw4GaPD$X`0>5(B16B z>QM3KeDBF==Wl=MP0K&dZ4M#(k2eku&bNULob#PGthK&(JG0&a^J`1sn{pDyiJSc0>z!_}=lMVFzoS zNr0je2hl>amiYMOC`V*-o$c!3lk)CJjIc?J(AFTi3PJd?R6;7mY?3)cVH7(DM2O5U z&Uf2se12oa0g-o{afav^3xjAnnW-R|P2F6ly}5Db@aULJ`x~EsYo*B%|Ej5C6~cL1I|H~`=bR2Y2zt6w68J3D)O zN4wUz=bnA`D_{BL&wt_b2Z#M;BUxTs-Pzp(Mo)2&3>6b9jsZYhR~UP6a`gP=OC0Fg ztIxgi+8giw^xa?i%2%Fw=DDBV`Zfo{(?Et&vH$=baxW4@*Jv+XeD+l)1ue2RCl#*6i%V?zxmqP z_1^6VyMP$?{OZ}T(Mlgb%C%->Rbj+zR+1+k+2yNY`y5P;W|KlwLp2v8-8Pc3%jYk} z%X7EO{ysmdQ28?3GWWCKq{cdgSjdR9W5fd)%P=Hj&Y?ARlB6n7d0q_$LqrGzUKv|d z7STt6ilZo-WwTN@8qGLpZtoxV+8s7k)6rmUx%cYJmsi>ia2ALFNlF4@f#3{1h@hP= zatFp2wkkLPQ;-IUATnOp$SD$l44LrG0Ai4af(h;vFz}8XKoltCWG!e@BjcQN88#TA zM-tvqGmQ!8&DURgGiT3Txp;|jQB;*=Oh^fc zwW+E?*T!2@R7IH=mE^oArZ?|g*H!hIPkw^QptrdAcmLjh_~?^&|DE6bjWkN8A8sf0 zL~Nv0+6?1R1pzvTQW@qv<3W%zDUiXd&%f~Oi!UL0&>o0`0FR7N5E3GgL#Jm!Wb=O3 z4t#Un`nqgdHBJ%^V7)cok+Vpi0XQNLsL3M$XIL1kLJ17BqS_mttgOtNSvD=}>~MVh z?$%^7PTMVQ^z7~f0?M_4;_i>G-}XEN&k)$=OG$g)bbH36@zH^EV=zP^y}- zAdF;`#LiTP3W?Sh6QN@5r7=1Tlrfqk&r3ZRj7@FxS#fwWoMu%Nsb1logmLeyUZCW7KR}?pt_LWk-?JCf&+)7wI>(L5KmdKkx)E# zpaT@zYKEMts2M74ZCz`RLYI0n8w#x}LQ`wa(K>IXP=YB0VZGyA5_u^lAd(~N3BfZd zRUpG4P)a)INY|rjh6vsoQyFAJ8>7O&8ta^W>VMOIRvAL5EFoG)K2kCaV}__CDuLEJ z5MYhB7OgQHMO|1=Xu%p|wXVt%wPn-kkeo~!p$epm!?Kti9_#}=0}ePsq~eXGwe_WS zB2OMM5E2o9xJdcWfZBnS&G>0ah&*^pU;NzXfAIb9J$(4E*=&9Cqi;rW9FqT~FMR<% z|BFGK0KwL56z6O)(0I6OrI)P+0Es}zPK$xiFhwCbBS19Bl&K<*$heUp;uffY3C2h` zYZ);!sYNk)w&jGJ*<$vvN{i5XZ;?nKSWiS`Pa8xL@$}E|+lD2$kh%(jz$HOS_Tb^CTbZgid+?qjUZS}t%Yp69`BYkK_y+Y!&qD; zZ4oEhvpO#vxbnIN>@4oC0Rmi>KW&nD^SAE1|EwbV3E;vp$ic>>r7>8W=$9? z!MO1tIY-8gafx72+HlSt?CdqtR-q@OlYx|?({4>BgXf<+H{We}UB`hk#&eF~d?*8B zECMiuA}`Pyj*h?qkR>Q;>$Q_;q*7FSU>?Csbe>6KQYfcui`r9w6i}c-Pu6oK4C>|m*^a!VsD3jzp6M`v$0M5Chs;t&T z9ud4JWK0H;HkQCorW3&>=bTHyI0Fgj!5gp@1ICRfU%R@l5it-HDpr$c0;$Hz8*eT7 zdNwWyxMIwsF&gvI93CGIkNaim1jn@1N!qRc@&1F`x50nL1EB*V>lrej(@Y#sJEV|t z1UOBepJMP&^(bJ#OT}J&?Uld(_y7K_n>Uu1*FXBPkDpQl;xGb0>&b&F6K})VOST9R z18*sELI7fbEums$Bsp;J5p7&egY5@6oltMVpE>7EU1TE!f=M zApv-;t*#4>!e~<&Edr^6z!>Yi`@4VVm#udWoHv#n5qd|Q3oivH=N&Kt#*hGo1F*(= zM?ztqO&{KWFh9SNG#XE~9&!;*51#Biy#3C#JKJ0PvwS9{dgbkTEf2st=l>=Uby>{NJ0bV|)&9G!FSl>GnK zY&b+e1BDY2fG6fX0D=b+Sv6T$SQ-w8)5$F0LhBkC4kyDzMT`rpXLVgm#Um+3ld-c# zJ6q&MZB-gYWofuTV=SU4u25j76)Ff19vzZ$?RG4<0tQbHfS#I2PJgk}lb(nGh@3o~ zf^+|^wh94&|J#edX86H>3-1I31}m%QD^oJ&htt`kM^6GN7UvhObzJZyiQ8!_4V5ED z$Pf1S@7=rYe9fg2LIEHl_YAtNUKAz6{=s;Z*LhXxlIeOnnIN)evym#Ly{U<7WZoe| z3&1>~24{%CGml6_jC;;d3RZcY=VdmVWRp=VX%3G2TleqoKi(SeJsclyPcw~0853z; z5B3h^M_yT6SYBCLM1n9>4hWEUyUiD$yC7J+xYU{Jw4*d3vaK-bA07VW=B;9Jks1vv z#xjUI^Q&xf48ze(HNs{Rf*4Om<6;`b>tKW~SgD-kC=rk`eu~sY1VYY;p5o&f5)k^G zt*sj${N;G~ffOSLdNwlNQKyMV+xynpAW&5v^tbQ)<@dh5ab`a4wkyjRF(jB&dS`e4 zO&Kh$tu$jf8BGTT?u^WEY>dvh8KN04HT*_5O{DKiSU9_?y61XJ8$lpt(u$IYgOj7G zx!zse)0duivR$g><^62J^5@_BLH}NbaGHu))Pd5Y{qfOFpz>NUe{BJ&Kh0o zTqbS7A_a;OP4iJvOhYB+x(R2#35}Y3RhH9yQk3=S!s8rSVump!51up-dhU@sOSSjN zfby9xvm}&zhkN($-re8Ze*9=FP|ZA>O^)`2u0mUxswlKqgk?4!6`7D!mY-}yaTEl` zIR?N{0^;Jr!uhk$w9>HCYcX$`RLpwLU^#7GUYftXyR~ukg=a25vr?B~JLGZi(Stjz ztj?c1bAI#uPv3vHYt`ahM*_Fjhd~euhR&as3B}VHaJq1wmYRqoW!hc4zF%slEdpbJ z#c*8JT8#!l8WM3)l#~WCR_gs9zbzB|^k;wJ%*uw4f%BdK-u>W%^Or8a{?S*X)&hks zp3mmGdRD~ak<7<6uKJ)p=|m!KG?wR=+8fU{RxX|#9gYrW&RLQqQ5dvZtvF5^N&NqFKKx7*^uL?|Cr9^MsS@Z{7NVuO zW$Oo?GHpaQ_JYZ@5lR_zF1^)J94aoQ3Xnlv>O3zP^Ho*&*%$%G&V%rUscK`V#dtKD ztS+u5fh6$G6QDm`Zh(LZArY#)uC!4iBofZlqyFf|?VnavzQ6TkZ)!;XLQ=WiHPh} z!41e50Yh?(0cTuR##FwnO_tBmBeLFgY%VyI_k}cVXqii}BnB z6Y}o$TaWMEoty75k)};>x&&8QF>FPq(yBHtY;-!yD@h}HN=yBj=8}FE4$#k5z|*igy39A%mxTyV1xMP{V1s)f9RI8T`3Fg- zH_L_)*ymoqxO#SBl51hyH^2U;TTdQcIe#V;=tP(s|Mri68mQn?Z~a`Mt2haJ^YdX4 z-n{uCdAGK{{>rT)A@6k_BzZc_^kW{CU*eWlM_hOhv;&{71xw)5j zmsYRFuOvw%MCfG5h>W$B(X+{5G8#^&Lq}%+@F>f3E>$4Ixw%G~K&Zrc;gV+3o@+BlPS-vT7>la=b5<-*x@-B5p^4@%DI-F#_P6 zAqWPH5Eu%Csu)|Zo2`yF_};ree)raoj}9O1KKhBP$CE)Z8nE`9*jP;(LE(&z)A;_; za5l&o@Jbv)5jh5)q``-(NsEpm++WzA|`Q~r^)^D|1O?0j*@-S$(TAegW z`08>sTCN7$ESd`!F9o6WR)=X?R^{w?TQypoGh<4uXWTpHMXI7tzxCXuS6*-SmL+0oU zdp?kE~X0`8+xc=$Mdy{I##IuPwju!b`1YbC}nE_U&(3W39IL@84ToT^WzY zjLFwue|_W3+IPSEXZIi8yTA4D;gg4-{khLvzHl*AA^nx%_J1)0o`R(*;!u}$4!oXa zZl;-0S}qStby7y*IC}K%jhNqTG#ZAfAc#Bd&e7mtYiGNvYU8~#R+pLqX+CpF<3eZU z@@mhyu#=v&kYQ+Px@> zRBslZTbB}j-5s0B>B0?^#Pl1EA zdN7)4f}%V;ndMQ~Ub(osxp_gdp!DUn4~~xa9xbmgFU~bO^K$~=-1_?BB(2=uqrsg! z!=3D8cy;v>STvRd19C*1yaUG3JHL0l{mt+E?r60CD_{N(yleiGfAQZudibMe5|mTF zz%fc)X2t%Kuox7*F3mDG%F4;eSJNUCJXdTysV+qwj%?>)F>c;SLg|2N?e5&V`Qi2J zpL*-fIFez|?auXrAd*7HNjr+uDhznoi5p#VHDh$;#n+Ow`RIeUCr8_c$m>G*N(lmy zUU=!nr7N$gD6x*fc>rLiCO3l97Qs`M6cPGU@4W}lVDrrSZ+`iUcYgBIWa(^ou4hk= z9}_UZQx+i;2#Ee?qo01Zorp%eBQW^z=ADPPA2+(a%`j!dv0ZQQHkEm&tHB1#m&jdAc+%e-Tv-&ru;2^Pk#E@ z%g?kM&8K7ke-Q)yEUme6b^{n$YmTewaaAA}+MDSlTgbDh9%@@@#z%Tu>wN!6a_xzK1$-z7{}w%5Q~@)HCf5Vvr!O7VQs(vd;ju#zw=Mo@tRv21SO@_l}r*%A-~FdQ z{PDl3%X+kB7Z=yEy`5$eO{Z3cb~&hy_DbFqJYfC3N{@oW!|9~Tr3$=-No5eSHpzZd zhbfNodOT@LhJjRsrmpSH>mR=S{M95IRPrNyU}Ai~p{2?I}mRc!$PAR(CW+C98|H;RID=jTO4SSrQ? zj$%5TI_pv4{Q8DwoV$4fTFI)!=mVP=fb3Ey)$)9R+DuAUU23n*>s$ZXXVksku9sON3Ar*VmABT zZ~nna|72sK%MbRy`#<~>S^Y1Ts*r{*4jJQSYS-x(O|IJYwq8?ee>N9 zKJV0pXP##QhsTq954XqTX)?c9ob;t?U}v5&nVS6hxo8%*VNyT5vCZataa{iw|F{40 zE5G{1xDnpCdHc`5{`I#$`LVzJ;dkzSupc&5dH5IW^9zf;X79rCAzHz(-drfJzVQ0jf9D@}0^tHRq%6<# zX+D#(6(A_plrlsRUM2${o>0GDX z=BRbd;v^APj}H!t=`lxYbr(f@4!I;k@=uxYM1Tn1Im@|G@sIC3^xe*<%Q}bycParR zU_Yy$!&7VAsYmd%)Q)0wG<@{rFbz6$-388~-N!qvRyd!?X4=@e{LD#qP+ADn#DgzJ z^>P1bFxXF$l!Ke)BgL5me&^96=RJC(%l!Db&Wm%PJsB#?T06}+yL|Pz`Nh@0@f*MO z((7+t`|##ySPmzQ4A1=FK-h*6DSPu6DL}x^wN9o_o1BH~+owegEO(M{mFV zBb^nmzV?y1-u%Da1n{rT0ff%d;%RMZWo>OdIR4=u|Es~{heb8>92?D+)lLI>Ghj`HoGT_22Ph4j zPISJvleWT8238PxD2j?PKPyVcpg%nJ*;tSF>x6!AO7q*RKrV7tZK$V z!RYQEeJ}VBK62^Y=DFtAoMW6J&_XNi_7;gn-g*o|E(DMT&ulfbm94810J)IFncyOA z&3AgMlf4J^Y-|lp2p8uUy31!|+-5=C>@EgNtIbx!liqo7m+3(qh;lq^tv@rZecbMf zAX2AL1b<4fL2LZK`n^B;{!iZ79UOn@SHJwqYcDuwPiZ8l{fOX+P7?qEKy?1pD+J=v z!Qt(PkNf-6OD+go&9i6EhB0Vc9}f>Zy)F+}v)jvuWjQN7Kp2Os&5e9on7S$r4)#Vr z`pKQG2U~#<2xeB~93oS=VrI+Ih)_|DQJA*cy+8Z*_mBI>=gyyh`IT3;AMd^Y-aF^d zUzDu>!iz6mzH}*0f+$evJR*>Hn`;}3U;VX{{>k0DcauiL6Io-pkWce?d^+z>Uynb0 zH{c>ln=-@?-u=nF_kS92s0kP_M8>>f-df~@l99E(7U0NMPHXFpb(%X%Tps6-5yQAvwprOC-%j$bg#7#yt6~e3 zlk-fV2Lcd+oU_`_M?smR<&tw%f+z&<%rA(;V;M@EEIZ~uG4?OWr?VI%1XLLf&;IG!ps2&iDU?(NLga%X(_ z?pDoO^6=4CIdjg7bBkv<3!sB5?dEU%;?IBiGoMa)(<|KDKdKlbB2#BNPBcl!AdgB=wp&0OB!F;#x<;>*MR z`vE7e8V7@E2I16+(&2okwYIXdva%Ee92iVT)A!$d*O48MCx=IUN1&}k#sLYRmVbbV z{L={l-UAVFh9c>P7oT6ded{~7{&4H%SDyLOuY4L}mdG}W@@T*R?z^||+;|l6wAGpu zktD3sb`+;+krfB~M}xi5!Op;Ir%h!oIA_7Ss&JuFQp%H)ek*M<&XK8|-Q%Of?f2h# zFNqs-onDd8@*;opjgJ*Y{r>y6);AUwd+l~3l|pD;7e#@{78jO!ojD+{l&DR`ofSfH z#*pF9k{BQWupC%G6x+fbZf$E_#7QWDtaY=jm}|u3>&n)KAu{sly|>7iHC1Iac;jo6 zrcJ?>H!f*6glz2Z@17+P&M?JYEB*4%|N5t*$N~?Cw9h ze}`PfI3#J)I`EzYB9h0a?lmIzv#1H4K8E!~;^O97poFO8fAxR=fB(gI{_^UJXJ4MX zP)>ak^s-TL=fi{kak(%be)!?FL4Porj*}$m&d-zgTyn`Gk5n1sz*-AbGUsMxQ6h3< z3hx0q1S+ViS_*mg?D@6jjp=kUnT{)6?rv|TX}W&q?BUU1FdUxUSY2A^Hj_9`V?wCw zVltgFKm-z!3&8^wDCImkjyw!Q&c!KR%Tmd_^@S{oqR7S)y)g#Jd*IF+PZr3cu`&p2 z@9b%pWm%MYX22sLN5{ch?SoKs8MYUj3Hojbv!hYf9O*27^OrxDSMrD1KW!MDSrklk zJJt&f0!{?zYg?OHncF(!T;61(g{)4N-z&__uhjr z6mcVpqM&j%O&e92Yl~^4Q)YzAT;xb%mT5z^k3;bI)(i%8C;U?Si;`Y{krZ0;{653OOsM*e16<>gN~~`}r_B z!{bicYRgyzN>x==j&miP*5z>4=ZcYXja2rQ6%XXj_N=pcX6x>)NuC*$J^=3txg(T< zE8((wdf17V8_k{r7R3!DUu5HKbUZxS9rh2RFpT0PY0pU+cm`f79>$HJ5jUH&qiyDM z8H83y!?@sKW971Hbo0?(sq0x$&dQvSog6$kI@leJ%WOP-vc2=(``4~tzxluadw=(9 zzyJHYTaT0wLMZK^$iV|JL4?H6KRtdxU>#ZOl#WSbj7C84_85K3#LDvhJ6;n`&XZPK3>}BwU!!Ok+m1r&!1aA zyAXC~dpl5+L70$=InR4@OOx@W@KsN;=hoIK>JAYKldDv=R!4*#Ph5K8S!GJr-yJa3 ze7Lvk>VuE0UzCe2FPP;#2qMp=SBwIEI5^f-M!x1w4{Y6*-D}_e>HhR&Z?70+@1ia* zQYO3B*nkl@XHoKi8$H^p!pim+JV7EILrH!=NVF<;nwnQRI z8A=uhO)2bfH%>wd8kMfg>?Fo+oVIuFUn^#lvMgq0 z0N3CBX}i@O&+4+)x3Awgf971$jI6FLxj=Erm_Q%|=ZKsqF1#aS9G60jMw28C=NDVQ z@wdOw`|}<%;qCX2jt-8r*9W`%iYZ%GT$XRQhje-bI)wYDj zXymdg%3*(+bb_oXm?ss8AQVNJANTuZk#i12UT~f!>1cfNkN)9*`@##azVeZ`s>&Sf zAFi)0F0U-^?j0;Gw0m>iRx4>WlR zRnuA*&i4Xfv%S8L;--PO=(Q6t*&dI*KVQ>0&%9sj8;4C#(eK!cc;I1=+YJs z(y^gdTFv?s%*^fI{Ri*;WT30Ep`1rkS75b{FpPtkaXZmKSs5X4>XJ?GBGQ6pEO5He80GH=W3!=L_i zGM)HZJFRP#J?AuU#XgBdpyuX##zQ_uAni;kC76Q6TzSrA zlfZ5=_m1O<4!Y+(4<$3+yIEeyxKUc*f%48*c^*du`otKclU~J} z2gBog4~N@N25B6eIU7lBp=Q9rd*logMc|6rw12$6`@J9h7#Vx>)1OPi@aDDm+i4gD z!Q8^i!s>e1=rz)Yu4a;9tJ4MK`7G1gi8S_g#}?B-vOuXko6Y)pn6_^}-X(90scQp* z=|B`7gsny21+iIu=N(3t_OVex|M{#9pqb(7|X{5O5 z565V1MHP7f?;SZ$JgsY+rY1>ZYuw#?_n&+2 z`7CorI|QrAJFX03#bIjvaalo#kx*rgH9%&J_O-LNuD$l)!2|fxV4JU_RxF#N`MVfztnu3oxwUg~`3@fJ`0Tzg#xX<1bL!5}lW48v)y z9b(8;r-dg6$4p~0n3p_EDJ5pBC&%r(CofU+ng(U3Eli#9-V;ZxYhRVN!xXo`Id4Sm zldbznTCrl{I96h|cxJ7)aruQ8s`o#`ONGR~tYOdE|T ziYu!J{eG*}vS!>ZZ^&E(lnyp(3y(Y?L0u4^Zw`q;L@ceVfckV>ONp4N;r^Ed-D|4Z5zVZ6Plj}cvT$qzeoJp8=Zjxov*==ub z98JqyFL_7SWMvWSMs2J%zNlScY&Q%gi)OPdE3$#}H3Te}v$Y0MKiYb9c7EycqpZyQ zyWe`JLU82QmKWao%rAxkKioOE`QbeT5k-NuRC{&)+4F}#z88@X^Vuv^gGt6y!8gu8 zlx#hCaP!)AfuYu89t0+6IaAfdD$<$tO0#F@Ugj<&@<23spsT@?rfa>nda)&2hleLd zawbZL4rG`z88Y-}8RA^CsoSbHhpl#_74;C^aQpE=KPzZGNY=Es7QgbPFPy)0`EYyd{=LVqzH+|R?RMrD3GvarTL;I3&iwNH{Javf!y{x? zDJ3}o#i8|eo|RQ8DHl8pl`P7l(P%njkrOdr7>s?CPbb{X78e$>!cEJ%G`Wy48JrkX zF<>6~;@OLf8)r|B#ygL;*H#ug?K$Mq!_Q9t5IIMlymMX(A@+9mlMAu+Fq>7ycuX~E zYi32B=QRNW!@SI!NdQtP$7@s9Wj(VRh&k(PZHTlbKq1p+sPl?T+39qoVBoANi_BOR z#t$AoMv~~Ms!OYNT~tdnZ6^bEHlEh_Iog5#nugq`nKF&)w zI+?7kY&>}IKq}d6rb?-CHaWX_c4>KemQRF~LI&i?m8Gp~$3hPLBOiV7=YHjv_us$u z@ZoSq6&KuDHg#x0bB1SD7M;^RuU~!Zl{Y?hl?kb*<}ZI|Vs*usACD(HlM!F4nv3b` z+-Gc27-tJi2h}7+N7>BO)&3+qX3ZcB#Ne>zhEW-H6 z$o(qFoX}-Cnm*z4@p^DhUXJcQKG@wVsc<0JlX`pd%|9cf1McdqCZR0h++1&ES%rwIORU+SAZtRv zfAIDDyT`!g=IX+Hul42|Z(P27&YFr##Tb`DB#m@Z733W-&pCjv0|5soBb0uAp_$Jp z&+3!?t!J-ntgmfczxjBa>N1b7on{m+%)mT^BA=jYS8mOzUfLyZ?MUAlAoK7vZaSew!s zYmF|8LTety(aW#AG8zq!PTn7l`b$e|ahS*;ZFLu$;L}!DMIp?_U~Fm3{Ra;R{Xr1O zESt1D9qVimM1#>3rQnKl4w9Hqp->`Jma*{i)pO`G3pGeVB!t9HOKv{@OwwuuoUJV{ z{pDZ$anNc%|H>5+kTaEv#LCsx!TY!N_jd1Z4F<-ZG0AhA3)kMhJs!^-U`ddpP=Ix1 zg$l)?3XX2`k)8#;>-d1j@hz>SipBEY4ymw(}J{=IPXnNgh$`h%0*t?cBXH}s%8av@gfMl&_V9KJ%%hEHA=$F@4##!0yw86vP-hLRdYBKW#p;8Eb zJRD2OKK|BgSFUaj^GS1V4xoso@&g^Ygegs3a?czdhSZKWzgA*>_C zMcnLp9Fow=es z7*&S_8Zv?YW2*~Q_u`#!HnWy(?jCMGe=VQyi~^L0Y=MZ?Qd^p(AqTX^$x7G9 z{lnvHR{NQa6$N%-t{nz3%HXZfytTZ#eDL7L=-^3b zam90 z)LA)Kl-f;)U@B8r+L+4fci;W-+wZ*le^meZr#}6u(iRLM3gyw!(bmqMkOAA@KS2!I zQBx1uXfSe?dC z$&%#`G0f;Nj2gXE#lVFe^!FTNm!8|?id%hZUUa?Hxs8{f zVb>oVms#$ErB1h%CYP@E-v02hCul~}7H(-V?L=m{S1c~1wVVhM2nI{t<;ixxnnaY! z&XSC4JJRlCcL+?5C)3tS_oIzumY2uVax~8SL&vzv>k5cYPNoFjF>;O+fU#^Oq9BBo za;gYlKDTiB(&g!F*3hN5rpPnnTv_HK4AM>;87q&EKw)>T6C&L?JZU!K-D+Y3y*#w! zinGn@xv3dTrIgmQt^MP}SylVSlVZ}cVPk&-01RH_yE8jFeLHVtF3cjqp8`^Lwg|Iyn&KHeKH ztX%!n&%ePrA5XLU_a4orW^t{NMr$i43xD>_9~c7TXlZ#Ni8y$x8oXxp?HdmZJGHe1 z?SU|g&s(cq=)y3Xj3!%;9{=3uu7Xpwu7Fj&CLuyqc@>6? zR5qwc^O~$x=)H^rm9`DYLG9u2N;w~dn5Cw|ML%KWpOZb zuYKXQC>7PH7>)Deart;FJK4{Ir193v7v|4g{s-@T07McwBTInRcR6A4GfDnWM5J+HcUtd-_nH+?n>Ys2>W^Mk5FTb)?h=`=} z)=Ms0OAB?gDdUr=We<+axm4CQbX*-XT~zttaBx`Vxz!G^4Q?D&6UIOK#tXM@-#UDJ zJlkBamgjHvXDvINN2UbAEU)$srn8E9C~NZ00Ixco)av@=;0TOvhKV<L<7}%bIp+Z0 zQ5A$Tj-qx)%__Tlf25~<@Fs0Ev&jVY(Cxo_>+SD7ynRd8+04wyF;{8?9VzuQ}(>Zk|0n=#Pen)*A4-DD&D>X*1!xWxN3b0QBAqi5JhG z7YrxUi8XHL$&>M5&}(cHAQ7dpIzHR@!S}!+U*4Qcc#&Tu5o1vzMfx|$~KI0aX>=bI8)t*aZ4cV7vT+3<*kQPSxE(D3M>KbkOP$~n}o zsc0n%3(FT(tCV8org`RPzH{qd{Ia#)k%jv53ol*y)USN)`~TOuKn(j8>EPYr@gSc2 zEU(;j`q)Limo7E*%vcA4o7&$W4Nim!mDh7kxw5qR#n0S$`|aQT-Ji}g3^_5xs4^`t z7z0P-38f6Uklt2B)^{mC*m*qZPo1t@r@3bXDoH3c@5GA2OAoV8ECsvbNI3oRSDRM{RW!2HMpQG+`wL3gMlZWm&|) zMRA%$y{-FqzxJ>G$@p;Bd&-JoZDw`One)$Ho^Pb`TR*)0yZ`cEe)^5`t4kv9_Z>-V zL5zpfqO7Q>4vtQOI#^lhZLYSjJm3BCwMVbLc=5SQ7v|5j7T0@BRo=3+<5QK ztg0DfO2&mQI=v($rg+$Bw33F|c=x@nCy#cvo(zr- zr;|QoLP?c`QK!{;_r3Rw2PN2SbTsN81Yy){wxc-o-hwxQQUD;h6iNnC7TJ`@7kM!& zW;@%DoU_rAsBKNo8LxvxC>gZpS}%X(85w!-c5x|ecACyZAlbs=;=)|7<|XrPV|}qR ze`%%LwnW}DAOa;USs=~HZ=PLSXfJRl>XMwRyccoEv*{EJ<=XQkmMJGy8?pwptE!3& zX|iM(6VMbPt9%TdW)#M%P}YGlGAh7o1r;+H)#;feyI1DZA+b!5SBhJ29LW}nE3MwS zIAQ`a1l4R6vuwJvb@=W(0~u;8l4hqwVe**~HV)m}xXbb=Lf9#mAOYOh@C+}aovwf7AJa-oxaaGfiQ)M;#jd^qRGXtNVU+~^RflSBajKmfn@wPTtY>j@blR+Z5b zIZU^8E2d({Rn(q$fWTPPXlJ8?d^*u}Q5P9_2aFT)Vm2WzEdjI6 zdqdw57)*y5J|!Ylc_T$#Mn;fPWFdIHjz{Y5v7rQx#urlS)Z6g0tVJ;PuArOk)gPG>+$s)$8Wsabw-nx^NVw>kRcIr#yBON zZk$h?ueB|tOj*c~1ps8~+E`+WO_hK|s3D7z_|Uq{!%JZcgTQ#BL+8DSQ*2#q%?9<| z?IZcH^X!>Lo5*@nW|R67Q=9FC10(N~ZZDBhJsI~O+;6@A!Qs(#)=lQ0Iah|^DW@&Bd+?9(*?| zfw7+4vSc<0_GUxHnQ=Z)QVA}QJK~dRH5m5^g)8dA-Tn0|&#yfDl6E;`!pQ&tC!>J~ zqegdmYU_O5FK3yM0m{%qSWhz{C84t3ThBRD!`UndV&~BTct*F zwwrFQQK?@o*Oz8gHG;H#a&b!`X*7pR^jA8><3bMP7?E3Fnu( zTZHqXWjSTk*DN?WoD3$#kXOmDqeU>COoC9g(x&8Ml4%gN6w*|ab62|a%g?SYwI1C& zXsdX6WnQ7kHN|Pv>ZE}PqgJYV=YvkxBJfAaWARu)_YM~9D) zpeza@I0vS!Ewb^RsR^8Q-dU@S;Y@HT_IJ0Aj}AZgxnGQ;7!fXBy!7IWF9^8<$SZGw zaqYb$$A#cbHp00Ir{34iPP5E&>-=a|8Vf>#Gi-5TBMK7YL|zhiwXI3|K&UuszjU6z z^R0jN=+5x+rS-+N@G!tY`7RehGp?%AgbHj^1S(cR5~g`xTAu@QWHR6~2*W4@&MD5h zm(ekUX^CT`&}rwrL+%k7P;;s2-$=KwAMJhry>kmoG8DE2#PIB4uB`Wh2}jUs%4RSd z3~4-BRk5lvwx8$InGuA>YD}|BXO^#CR@SQi__@tRsg2`eKjapK@c!_iUTAe%sVIvX zco&AjuYBp#hdcY<_|{D~7K8E0wc+H2UiW;rJ5V@YpKmZ&ItuM0Eojta8cE|vO18GA)8Dx25f$5?egm% z%bl;MCHR1lJMWlrY;Y7O333@kX<5v)_1=0*ytZI{%_Ju#2$Tgg&S!!3N(2Cqm$l$b zNnwmeM&mJUZ%>oPLKKQK>y0z3Azf6Gs#qWwrqX(@BN|PWS8i)}$Tviz89npN^7U&c zAKp3+la)ru$XT(n)Z$7_Q_<?5Ub`+ohm9|19B_^>|Dh#49 zjN&M1wdR(VSJyTkZ*M*J03Utht?z&DJ7rZ9^3!wvoHJ((7hDNZS<4xEXPnc93qV?0 zUU}}>tL;`x1)|+)fAHiF2vCW@Tdyazb3{bsT&?S>tW^L@z2^9Eyt1;?$aPiZU`k(y z(R|`Tl9NDO8|{oIM+KDmtlBu&`*(ixvk&gwVX|gq0jUw`MiOcsX;xcwaW`lrX)Ems zR1k46MuLG*g)&6W18x<=+?0*wUQrj^+S(IioW}ua1L(j5<04sP&m^t!@i-lsPEBKU zb(mOHMVto+9zn!Gv(pG#aT0Q&V!>FKaqene6SL%0k@bgRzrW($Tbiv-T%0au%ERpB z_Hg&T!$+i#qt%UxR?b@vP#eFvwD8rheCfvB0|+GuKkOeDD073A>MmV9^JvC?aB%2k z3d~Xf6|sP53n?Z4B#4+QC1Yn_I@{9b_JiG%VNn@h>P&lvf+w+%%;&SL)P{(HDC~6F zjEQnmeDrfa*Xqq3?CyGFI75!w7^5Ttd0S4<&JYl#$oi+P0>%>=?YOsGDq`py09Uo~ zwJwwlkpWdYWVR7<0A7qB4$b^RIXad>z^xu|K&GH_-quWT6>?(enP3ke_gjs{R>ws# zUs>(lf3Sb&(ed-otZ?pyGhphOaI|{)>?f#fCVV`~T2W(teY2=`vbuh9?_`qaXE)aB z!Z*573dOwiSOh9WfHFp+vAh|?#_0Y*LB*7TsaPcxy7Zq?Y*P3Yp9fDj0>rx zltBZh;b%Rc=QC|fG%CQ@X9MM zUA%B13H4+%|&KX^6;PC7la`oZ@1;b2}u5o-yy7^PVY>%2>xZ z^8i|(KECzNSwd8d5qba&RRf$)(@C>YdbDNbTRWTfALc*EV<%p%+A)w$6g;ao$h~UEJS?>tY7vs_1{?Yo%(tK-S zG#+?lQt>DboOP5M23jaP*I3OQSi{~WLe%N=RH7am98xf z^OKYO$>ZaEs;PuI!yiuj3FI*h#9q~f=N{51Nq*13C zW~SyrG~4jhr2zm_lE-lLM9!uDIp_U8Rk7b zb0OMX;G@IYK)a|Fub*9SHPYqPd1A(E=bbn{IeGK5zs;FIAjU8fszw%*na;|(GI11s z_}=?RdwZQuJC0^%$V9#6_R((c}^rHB67!^w}LC3+3%Ly1`4oncb=6vA0!NJbq@gVn{;t0;4 zU+fR0^Ue~8a$1`L*Uwx+Mkq5Stm5fp=JRZvMtpv8zS~}(49Y-GmwPb_8GaSTuS8ZlpBh8ibW#+vyS*%w{G0IbL(qg|D&(|%CG(Uum1){ zAp#>NjH`k1Pk#L6FMaB@b~`~rA_quIbL}@?eqmv5UP)!q64By9gJE#c-#0#If%Hh0 zVQorpE#r(4l9rxA4j#c9pt+4!R|z$%-sjt$W~ofKh0Da?ow%#Z;JK z%Xk-s!_iQ(Rurc?P*QkLBpG9jkbyVkjZr8%&F0$6ul;oVJ)}G7N*WRe6`!gw zKtLuX<3L2-G4#4LpZe4*!{TrL_y7IxPR4pfP-_;+z}d3)j)Y|(xR4c?ni!0-S3mRO zXU|{#{!br%`76Jeq;XYM43W4%;tXMBb;+GtRe;EO;7G`W06WqZ+KwmLWLg?s*F~15 zVHm1F369u^gCY#MlDaMgiYN$~Kx;ISBO*-(x#vQXcSak@1#!=iGa^Mc65LsaLROX4 zJ`Z@B#&b#7pNyxIW*fATm_=V(B4Uye69R}kFT$83QdQ@1%mJyYjaWT9UssL7 z%?|r}*=*`raBlN_Jf6Z4Yc(6a_4IgW+>D{!n|Gi?rTQn6DB#BW8z0;^oYkf`KA6U7 zgP6Q={r=SE4HXBCa6C9EDt~-D6%0{uPe2R+Ku8t_DvAO?LI7jTZ~oSAz4hjs@4x^4 z_3PIkKYBbI42`az&haqKyGYXE)C*&8@}F2)Gv=LKl-}v#N=JIOm)L2S750 z1b4skrBBa>~FmwSBS?|0(KCVB!(f{n{KlOJmUwGw}GgUF> zs0f&M47l>7QCm+?8%rETz`!{qa^43*gb5229gpk5Xu=tkRe(rnbrOZGW-0}X8!c}t z!B8i$P|A}7B2QpFSumV&tF^8z=je@5N(NGdK}g;kLSNh3IzT@iPp5U?|mV1NH$ z7$;#A2`Ru5fslF4>RQ!>i()4PRoY62RvT-ql#B?V@}f64XSGAlrn9Ux(pfP)u1jMl z<7u8*p>R5xaSxo@gGtpN9MqMMB=uUo5W{8^Kf3;8v73DAt&cDDR(Fmb|M}bB>7Km^ zwHzKz8=W+v0Kjo}3ZoR9GsLGvUn1|lv(ES^=(L`_a`l;f_T`=3y+@B8J$d|iI2h#l z?C9tyn@)>7uXXL6BcL!08;$0f%`;b?x$>z`e)6T4UVi_^*Sz=0S*rqk$g_3Bkz!#&;ZibJaOXTQTj~j85tMRf-IW*5&dqm62h+Dc@xs6#HxL(B z(0glbolS>RW(XFjH^NZjZ`~^Nf7wHoU^r^Is?vIf>SvWGR7Hm&Y>@V?N@(cFdF^d zzy9<7kn6JcKtv7@!DD5-K*j_QRQTS9k8eNTSz8R-&BjMR`KHy{It>g3BM0D(0RZc% zFm9@SOZk8!0x`z4@r_6t=lY{+mRHUi^3GeUYio^-l&or_1aiiZac*60trP+XjEAzS z0e};gdCfZBJA;G_*`(A(Q6YHFoHI5~qTz6|v$fMo8k?&tj}H$^LB<(|PBQLeHlDho zH07*V=%vfc@yT>nm6jm_p>y6D(zO%dIic5;^|hB2fpw!{PEc;HZz`Eg^6|!cG@XuX zo5hh-!Mv1#DQz-4)jn>8(A!L#yYinx@ z3-c-nkQf7@y(MNzc#y)N_Kv*sME)sF488NlvXY3L@o14mB_ITko*CraJK`t+7z3Zk z263=nd+>~y;)x(tTby}s6kk|smvy;){0Mp&Mve*Q$XiZcdGv%##J zSJ&Han$OQgtZI*DISWh_gteBE@gRyFTBA**6nR&mh>p8$TVuXxa4Jo!WuW5m{LduM%RZvs0&49F+;}5iPQ6TN<}0A zHE~W~{gux>ytjMz-tH``#*=}s2_$%d47lW+Nfd}Ok~|Qzirss(|MDA_ArhD9!5H#{ zp3r;n9-X7wT4!ydL>x+iC^>pZNf=CcUDZZ$#u&HGmf8|j&ROkr7^pA|E91SXtCuAawf>LY1SyO~Ug+*n7yp$*q`h&x& zaE|i2Hl|{c1oYl%4-62vG2|=}Fns;x^EYlh?#<6@qX{UC0wFl#C^&b{NhulU2*8k8 zXYmxtfB?jRyz@@UP;hBY?dTL0j7o~hEJM!bJH5Sw-T&3U|6A>aH5G?R5+;lnMG?)X zbIta6XthcfmoK&(i$aFLgth&X-3PPm*cOB7a5S9s8OgNQ6O3A6%X(Z~Te*Ah-TOB_ zJhOHojOKO+#}D5B@ZbEKA20$Qs6dL^TJU7SUA_Fm-}vpn140}e9M%@Xv>}B&J~<-i zJOgmvd5Z+jYwsOHG@c}5fWQD8`BOI(7g7cMpZ_=ibxq}GzwirJpMPoV$?aF3eQ`V( zfAgDv{Nk&xdS^Xn-KF)z#X2Z2DwrIJn{6GBSqEO|m;%o7kWPt1}hCOr=b zLPBJYPSYdnz46}qQzST|MXXTZ#4^w0l?{|UK|BPEn%L{(l)^2z%8QW}S+Ts21k zgh1du01`tQO)?cI3s7WPYi8ie}O9&14Gzz&95#;VLZtu{r<6#yskAM22vTLxs|pi|}qG9*vL z8Dz(OW8ImnZ#oWuW_EHoo=#B)mEkrE+KXqqy|Yo=D(v&s7U+N6Jw+uI28~XkH{GiGA77+@1^99JR|h%^j`wr6EQ0>xPSLidu}Q0#m{~E zg@$Us{FyhF78mc`zTH__+&wzF|NGzd*=%xh;EWBpU>ciIlYzEbRGi-=D-s$=O9herfJcM1_F@5s61!6?rT ztV1+xd_0_MVS9eAxpFyeo|UbRyJ;JFb0tE->jB_0DG+jq_3J+$8K8>5%sQAt|zaykhWc0Uw z^KXN-U;Cp!ZZ^|D`qMv?Y1BX7(iRrljby3AP&BjY$3OP^^XJ#U`_ms?d2a2v9Nf8k zef#>><2(2A$!uw{qog|AJ_w*W8|P|mT}sJ?aE`?3<_o}B;EZ=%N)Z8IZnR}W04Il> zTMiD11VcfB5d|P517@h2&6o%ba0k*DsB9Tff$Vhm))EtMeUWFit-W>LpL!X{+tVJY zr(QB+b(T$xvm%H`qoMVdObr}8W2Z_VN2mJ$pvS7Jg9b1niR2i!44w1bqdFz=0CC2= z2M<61p1>oJ2SM<(C_>-?fWWg;=q-463bTD0WS|FK8*eR>oV-_3C@BZSL0-&c9L0@v zbaFHq3@)F&;GITBMKv2vhDBKohJ!E(XT@~*V6?US_#>~q-syIWx@E~<&HE>NJ0>rggWk$YduhJiI~ykJB3fY13xOm&Cr`k+cRWpiBALz$BwISID@T5A zZfUN!{QS$GuFKJfKYIK6?LSlUN*uRl_1@xoccFC={|NwsWE?%HFkCx#>9tRMW^Lo5 zkjgllMiC;M3mS_h9}Zj1W>%J=3WSuWj7n2kA-R;yI}6UINz(%}+3W-cu6T~Ww631DfLdF zlV`|I!D(9S!Qi;p|&wD~#u1eoh0S zM*uyL8axq#{~6iy^qqfu32@5mu?QXj8J0z9bfqvr0;!bu&RIifclPd= z_4x2$HyckkHkLWV{iDNaHm-Elo1cI7xn~dekEdDQ3Zftiq?Bb@Mqvm5*>qAAMcQat z=NXX@g2hn~2}y)Zptc4Gm6C{Pog+sCC>b-x7LyqeHQTK)4W04M@fvH+7!yo#WvwyB zb~+tTw$gPV1Q+bV!^g+{k(mviyL^6OspG>1r&=T=uv!K&BSwaM!O#;(VF5g%wpP~# zIpmgRqm!fYpsvc=P@~&@?XAxxO|!Fe{h13_hMAn?(|eC^GKQx%F$c_v`23ZZR?eRH zgh#_6XR5T`IaAbHFfKU?=8OYG^u{7`F9Kd;0cI>_uvSS08S&H zzv8~q)1N$xfBsx|t`~%ykOYCTHjYAS#2XjZ8qKD| zRJG<++E!sI0(lx8GH?KZoOuL95`+SP>S{JT+S`46a=drv#*MIonOc;>jt#<2~v*%X2?eF~gcL$T{!WzE$g^x3G z<#B(0PF&nre7Lh+3^PtpRx_po!I|L90T580=g*y=?*-hJv(J9&(pMm5~FI$1O-XTq#91kgTql#-&=+}%;bxQoy~A~^1+Y(;fL$DzP$LkFSge%phWWI;A!22omT%ioT>#8 z!2Xp0g@72G&KQqC4B%(6kgn@AR*0G^gQ!f)Kgjz|fHc=ba}6N&xLVpy$zTE@2k3Y&O1+6 zHhax>Z>9s4EJxA2RBes{Lq^DfJW57Dj&bl78K5Jb^+#KGj~`sS^YCuw3Y{Gs9z9%> zXRf{fsH**!zWn*i7oYv3uYc{#naz!}YuT)H&T!;JHcq;q|KgXFVn6=Qw+4g5=3I|p zdinBmo%Z~=c2!M_o!0tFw>ud;e)6y=Y9z-AIS7grSyvQ!Rn;7bE2RVn&dCAiK_?aS zLAt!z>9wO5UVi1ZS3kiZ_|~`n?AF~uRh!OSYc$O&UZ5_aF5K<7Z#K8q4(UcYflXVN9InQrcF}z3}{eQtdqW zaIiQ1%&3T0QqOozymmO~&o(c=*je7#dU)rZ?|nNAqmRDz)`zz~uu9^z+-RiZgIz00 zhs-loYYQZ~U~`Su*M9GRDonM$c6M(0!s6l_Qtm7t^pE9?FD&+uNzybtI?2s+>Fl!} zU^3Mz?QHMutZrQ3VX(EkFQc#=4=^7jN^K8wV`OuoJ-@hg?fT6h{@{CG`Re6LfeUAc z$+YoX%SUSb_SgO}ymRM;&;QEB*I!9G9q%|W5a7LMz~HpznK1%+pMgJ)R z9G;4d7=jl9Lli}o=XG)W@y*fnD2af)wzjsJi)5p4Y+6l^_K&po2ZQ0c&GU7wjj63I zBv%@_G0uREV&$AGtCBPiR080I5R!532~-dwLu0McwyJ6&I5LJv-jOk0@DQYk;>Nj) z?QeYJPp;qogZ1@|Nj}><=x;sQN#f|`S6)Uy#-J=_j4^KwAm@ycolVOWqg4^EGuCD- zK%tmtTmYWl2**5lF3Fa~c<15x@tvdXN2Bop^S&9dxigzyt9x79gHiUA_r7;DeiBO_ zGO(42dvooD6+De0iFMjNA%Z{o+V5{Yx~c1WHW}90_|dg%n-?z4ub!u<888wE%|>f! zc~xugtS!sjd#yltWNFeM>&mjI>nisqh*G5jB~@=ZdgkicW+zaIZk*vW+?y17LMIzn zR>udC=rm8pr6&O?qr{KP6UkxkaQqj4`R!*eKlAKIo;}&wr!Bm7a{s13Ioh2boD5YE zoW1xARr>6?GmoBZIRJ%BaoRk)dGX4{um8(`*iLhd;_2bu(#2O*H#i#S(`=>*4i1ju zG=258kIr>kfBE(gYV9sR`^vo=w?k21yu5H-_xpuqGL{VEP%$BaGbKYD9@W`s`%(Sm z$yU453Ib;=|IYWnMO=LB^^cv|I3I{;a#r zwqj?}AmHT(4|Zo-W~Gr~Qcg#+YyuEAMF5TX#7#`-7Jo6Ff4+0?`@?U4;~zi#@THG_ z@^fdOyHqEM_XG&wPd9#Wr#UWw@L*51FQ=KnDfSqjN-Y41ONro}^VSeTwY`0BFgbQ! zGnAJup1XeQ_Q~;>BrMLi9Eyp~!#Fb5zVptzji@=_>mDBNHsVGj?pC$cu9iXQ2&ClR z8znh16iTWv2o(=FM-LEy_s(atnRi}tPT;+F-g#uK)^<3aR=Rxm+O2!{AI;A{7)-|F zX^99+^K)5V*2Xv^R44$wBgYvM`2L^@B(|G#6vRw$KqTfFM*v{JJpm&R-U;J|I}eAC zZusoT`l(~A#N92T_>7JhMuI}kvIea;PH{W~mIsdT3T7EdU znnTI=;Q;sEhm+RYdxc-nh?D-HnirAQ3TW@U0K;?61$4mR8cWrOMZhI9@w@vCHvf zI<5rIUEbb(`fyOyw9(l5#I^R?`n@}kT8+;AgQxw$bmPM6jnBU{du;8%zHsrz_rLeY z?CY(~Wk%3ddH!5`O5l1th1h3yhg&M=E}48-*$kv zB7L~?^zym$P0i1ac9d!6Y2(g=kCH4i6n^&8pF2B;!47EM=yisZ8QIBn)IXZ?XjYpz z19k{9sqOLpq}6XEXM!L1{oG&vgui&Bb^l%W;4gmuN8kML?7Lt1(l>rjpIdj#T7*5K z0G%!pVBulJ41$Z{%E$HpsgDaTFE872C>)BSvh^s6==`~hbva*ON}MfQd85i|9rR>8 z=76>i2+Vu#rGVjXD%5?ly^ z0sy^U*LlAf`_|Tu26K#be>VM-@Bd&p8a>!Kn0uyq*`HMb&?r4Bt3Unj_Xho=S3Ys& zrB|<8@2#_%1wl;bY@BYzNlzO?ga9fyhS&fhGNYg)QNEa;>>b{HXYcXtvMy%TteIz{ zqm#qIN!Z@(G(&LnPL_Y_)mPKC&Rgc@!M(>%cXsX1f3bY^`o~)7q_r7NMnzd7ibB#R zmLMAOEjnNo%c=^tlHh|2#>9|h?N)m}pPgWsPN%?J zS7i+hE^sa5xo6DxZFz8TFdPgzy-x7(Zd<` z|F?eUZBs`s!D|@kp=aT>b1% z|M>2^@3xb)91JJ@K6Tdf)>3nPaCA7HmB6ff8$7wSlhk%8icb3deld$ZAV4q8OSVQ4 zMscAdp*S%i(z-u93>>PmT;JI2EycbnvM6*iTwm^Ot(vMlDUR#*#&SwiRi7N6JoNKj z4~pui)8XE{p3Ul6tJ9`3x3TG^Nj*KDjV+)-7mVggW_KQZ@YaWKJ-GAitG{>Q?78mk zNh#xOJ~~;u-uUeGwAe4-dgBk?eCznroBz8sTP_P;c=eJ9GXp9X48NQXEmZtZ-R}f| z1err{-YZ3M6!i!FZZ}?9yIj_8aIkal*1f2aT{_#H4Qn6Na5xDrOzSB-UR_z=+*p0^ za5@-{>SEkm&X!hId)>6Aw}0q;0Fbzm7opZ^>?_~uEj60yhj$+w?(atiKl$kw3B5^UgBk?##)fH} zQLzEkYH{f(1O`U&03bmtoDcSI{rFD~9zU4#SjZIC-u&p!Xfk70*JZhRX49iCrJ59z z&F0ppzxY?aU;O#OgGZfNon|=;q6m=ATDh=o>5XP@t%^n)$OU=O_&puD@hxwR3+W;__`d)n9ctY>SBM^8qYQV~qZ zG&*rBTR9pYZf>nNo2{~#jwa*r(Qy=+m3I5~oreb}qvvm27|n)xBY)@3pG~U6fBH}U z-|LOu#r3Os#kD=?7{AN@M?d2!KBvxYYvTf%{tF=<*4by6GH@d7NeZI5) zrB62VUJw`!2YZM6d;5D_g;@~>!yV^?A(dq-;*VzY5%4&YkrJ$DFdUBSX{vaonvX)3 z^mlfFC-X@$AKpcbQ{=L2$4Wq zS}n}_7zKm(2FX{md++>Y_uf1G!PMj`Z^eh>+3vwfU0b8IGEz;$M5-({633c4t7-4G zFa65>ci&6%ZscbIf{1w|-@dT9(#h%KYL;F78-M-Z+539jjyOIOdL>9n=FboSh(Mx)`ZQ!7zSCXM6${inx=2U^9``MfN`QbsD~ zNk-e}mbN$6dcBVI)%^!gT2ZmFb%q06xU#u*cH{i{tw}i`_K)u+zwx`@c=u<&=gTqvtR*e=+(z?ve($$dIxAnhwmrVSQWn|h@!cge zwWIm|&F??D|6VJja~sKxwac3;T2Pv2zhHXj^WM6OG8J4DfIO3cWpBk*lj#=b=Qy5X zcHW9*jGIDujnr#y&F$XE;vL_)N4mVe_w$dk$ro21vt|oEEbbC0k;pi|woFvcU zSV`;Q+uwTk_S5IjeCGVt%TbhiM}YxQl!U-)!SzKJ6p0X+%9HURiMF&+B1$Ray+m;o zLt`?Vt@f7MD_d!6>BILwTw89LIE+T)Vp5(AM^`T0Fi{GEB2ZQJbTR``WohFmn#?Ch z{bx(7OEc#UH2~2w8;u&3(wd^wC?(U;tkY=OvZ!qxMNv_ePAJLr>e|*9zx?&toM)pE z2p#ta`+K{aTN@y9etSCvyR+Lj2G4D;tuFT%FmH9rViqYCMY_}4A~K4!)@m_T#f7<( z2M8fVzQ1$#*@Jhc{b8sfN%hIW-pSsH^KM>-IH8za6-wvA^DjJK&%D=}n+z_luD<@c zFCO20U(b$=GUCF@^76*o>dIPgc=Uk1d-we}W1~9Vc2PR#e5={2>S8htNs^|io(_)d zs!YR9XNy!e;C2g{vlsTvc5-w-K1j(z@x%Cti6j?!{4}&#iBy zL=KEL+k=BaK-Xw2w|%aFdMk0G(DSML&ENSeXEx7$_6uM5);GWNa~P;L($#{ez?Ns4C`F5ILMq=B02=OHuW|`J12nW8tley{tgeuQrIijUYNU~d$a`ruHK7-c z3K;#A>k1G^9I-!|Oq$s|lE9?K1OG4_om)Gzra3+NV51$)$q@@p4AceQ&Vi+YZU0a%0)8Awnfv}ryrChyOljCi$?ueO(0*QVoxs+vU<*OeUZ z^pEy_`r@mSbQ_=l?59rl5292R)A`o+Ru#N9x*g}WwFd`>PaZ#6U0O$>vZ(um$(ij9 z8{E$RqgJz*nYC8B8#OAjCL&Zavn!np6B!VD2}2aFqu`uX;t}oQSW``3%~NE zFMj>e-P;jH-+SYGzyB}(`D`*QrXzo5-b`VolbzW-`_->}>fE_4t>bokCC?h-txn?R z(n{qM)QSR0%)v7OFfxM%k?H=?dvAPexc7wFHu7jVJ1z?+C}ecH5~oodh-b`k+IjxQ zD~}(3xcg|ex4glVlh;4@`8SSs?mv5GlyW{a8(kZq(QHL=L&V&BaF4|c`?4xTIB&HZ z?X27BcnRXUu1afdqE!;7>#OUHH1{m*d;lgzCW=D{naJ|$rUc*aMsb|xjb^4Vw0g#* zZ9x*R0s?8(YPO1L38Wj1h{U8ZMG2-R?=@SwSxPju)9$tF8;^hV=FNw@wxK_~^WdOA zc@J^AMMH3$)b1Qa

C5jk8z_aO`f~dQ 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%0D%%sC<;Lo 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 KMNUMnLSTa25d1m- literal 0 HcmV?d00001 diff --git a/results/fixed_seeds_0_63_fp32_8ksteps/sha256_manifest.txt b/results/fixed_seeds_0_63_fp32_8ksteps/sha256_manifest.txt new file mode 100644 index 00000000..4691aefc --- /dev/null +++ b/results/fixed_seeds_0_63_fp32_8ksteps/sha256_manifest.txt @@ -0,0 +1,131 @@ +53745b86bdea8c4f9758cbddde608f8692387dd80bfa0495b004b453c9a0fdd4 nfe1/images/seed000000.png +653c432e66473b5b9f29dc9471454f58b85a11c897be6281e1b6f2b807667452 nfe1/images/seed000001.png +69a1d07a042106f0b347437863fb352517cc13875aec32af5ba8c18fb6994a45 nfe1/images/seed000002.png +9b4d5040fc2c31c8d1b6b51e0fbcdb8aa20abe00c1a2f9f713dd410d1e933242 nfe1/images/seed000003.png +c872c793c9ad445f835dba19fcd626f7fe26119cbd8cf382a8da0fa172f57185 nfe1/images/seed000004.png +cefd56286b6f687b8dfd0c2cd68c05ef8b1e1c308e76f5eb5d68c7d44c553ae5 nfe1/images/seed000005.png +463bff3a05d73ede5fdc903b6de8fb038ddac7a27d6761f8ed360a0d2b89ad4d nfe1/images/seed000006.png +4e4d85943e58bb5527bf521bee177be58031df8f2c56f3da28d62bd18ac92b5b nfe1/images/seed000007.png +b79b0d3c0a64a909f594d3dd99d9574c75ccb7c32c28048cdb43600f3a9a4919 nfe1/images/seed000008.png +77c0bbd14a03172200c41b4e66daaf6a269c99f18399b7639c5a35d0234502be nfe1/images/seed000009.png +6d9b343a516bebe13ee819fe3b4fb81880edcb4907880acf02fb263c856a5a6c nfe1/images/seed000010.png +955347e60a54ddcfac54aff5a3b9d059ec88eaf583ac0325a5093565a9a37797 nfe1/images/seed000011.png +f700e37ba2980d0f9154ad95e25db3a56f35af794ea746a7e148b64911229c76 nfe1/images/seed000012.png +20aeef9f1342bcbab6986add57766eb2758f621276fa71df9484e49c6bb5e5e0 nfe1/images/seed000013.png +b56505a306b359e2679b614c5c208b07d85e5584da5872bfbb5a017bb991fc30 nfe1/images/seed000014.png +d016852f71328eb665a3b0e04762528c887cd05a9e85fe33c2dcf105791a8a95 nfe1/images/seed000015.png +e78e18fc2e2a0018dd7548ffa35607375adb1d09f4535b851a2454cafdda2ef0 nfe1/images/seed000016.png +976f6e9406fd22fd39c4a93c1954fc5a965c7b7982e0dc009f49cf77aaaa26e2 nfe1/images/seed000017.png +6a993e511d127f7d5860b74d1d1567750e5397e6a568be7db94ab8c56e851ef2 nfe1/images/seed000018.png +55760d2b23766e0361faed9127ef82933ab696cdd3e7da2a1dbc46ccc5256822 nfe1/images/seed000019.png +f1f7f47a70f3c0e2cc38887848ff86e594e35587b160e2ba98c6d08194a0bf1c nfe1/images/seed000020.png +168b76acfbb1403cc6fdabcf3d3bb9845c95ea7345635dd132e31851fd8da333 nfe1/images/seed000021.png +6d4da8e2631e3e362b7aa98b7dfb29ef2cb9ea1786e5f713d6d5eda320bd5757 nfe1/images/seed000022.png +c1db0257592868cb8a83446beac1e33a87b008bf55ca8d51061bac129347fe97 nfe1/images/seed000023.png +9adabe836ad70246f616f2d51c2c97e08a8121610f8cc14338d3286f93a5828d nfe1/images/seed000024.png +57bd4b03b6aa2987057e34e56af049357d0313b5f95f6948ddcd98888b24d340 nfe1/images/seed000025.png +0b2a1ff02029b2c703e0946a9f0b9f06d00bb75eb0031912db4f32b1f9f05072 nfe1/images/seed000026.png +b7fd8acf2473cd334c70c2c3dc2e284efd182a00bd122e3343568e5200f73de7 nfe1/images/seed000027.png +fb76153c04061e72efff0cea17422052a42dac2f56df6f4b42e2365b7ca5f6f9 nfe1/images/seed000028.png +18ca09cf708464115da5d193f7edcd7655c01d91401c40feca89b088d26e8b8e nfe1/images/seed000029.png +cb1abed2a5102f552cfec99a58be472369fe8e10a5e86e7ad1ab12544735d3e3 nfe1/images/seed000030.png +98042dc7f3ffa0feef3882ee1873089700ce61ea0d38f3a8e6c53e2afc935bde nfe1/images/seed000031.png +3019ffdf469de3b8a387fb598cab20fa172a7dbbca0446df38e8a430d37521ae nfe1/images/seed000032.png +6eb2e67464ced9eab793f0f9b094a7107c226f3b5bf5170a75e084477b563ba6 nfe1/images/seed000033.png +eeea7b1bf317b56dde498ef593ada4f03668d37997e66b14f80d512a2788a22c nfe1/images/seed000034.png +9d147ea853cf906435e67cb811b7bcbda504718c296b18f4e62b4f9341dff53a nfe1/images/seed000035.png +4348aa0ed042524b30d51918b7f548ebd48e11ed90ced21feff6796b1a73afba nfe1/images/seed000036.png +7df8f08b3e68fef29c9fde3b2ba97f46ccdf9beb417776880573712f748f950a nfe1/images/seed000037.png +81c90b6d878a14ad41cc89d0c0be327e54448f724198d7e5aed871be74e22f9d nfe1/images/seed000038.png +11e62081ff90ba2afdcf6babb7dd4b3bd224d7c6d964fcefc2db82c0c172f890 nfe1/images/seed000039.png +5fd83e5da4912bc9202ff3c4ee76269af28900f481f24c82e6f79bf1fa1d109f nfe1/images/seed000040.png +3150a5cbc127542749081c233966c88c000e933489191caf2c2d4c3a36190eb3 nfe1/images/seed000041.png +2719c7bda70cf1be0b0573cc93aee7e2b24fecff25b3fc44d404b3b4ef917f32 nfe1/images/seed000042.png +80b4addfcc55959acc0ab9f7053ae94544984d2489250871d7ef0eb6376686f5 nfe1/images/seed000043.png +c81b06aa49bd771b0ab8bee086e27ac11b6529cfa6abdc466cd37fa1ce54970a nfe1/images/seed000044.png +a5e147d925680f7be14126adee1c63469d9d251fda7a63915e96496f8c254829 nfe1/images/seed000045.png +848cb91cd6853b672e96f3e69074215b6de07aa44a0d0da5eeddebcaf8c5af71 nfe1/images/seed000046.png +130ac55395b58111defb907ed503a56414be3fd8c330a3e7d6a690b993981c70 nfe1/images/seed000047.png +429177f27cf3a5fceee964aa92477865571f511b0ae0eb8ef4fcb726ecc0960a nfe1/images/seed000048.png +7717d88d16bba582d8f921fea863159123e8fbefc8040f32478600cb2ea3a371 nfe1/images/seed000049.png +f4100f5c80f6f81f01f99b563b5032fddf482c576e33b120983c96b4150cb0fd nfe1/images/seed000050.png +9bf74f7b4dc23501b01740b63a5c9c91a6eeaa76fb9b9c61349f08ce30e56be5 nfe1/images/seed000051.png +cc332f231dab33525494d43a60eb399bf75562256f04cd3bf17f756d37f6281f nfe1/images/seed000052.png +e600d97589d9b0f7e51da42b242d7fd6006dc5cc04a03e13749e57a255f1c8dc nfe1/images/seed000053.png +1461b41593ff87f7922c445d8cd69d9ddfb8ebe48a060499fd6611501229c613 nfe1/images/seed000054.png +79c23250fbc8c0aba4b7052828731ce8b8235140cdb915e45d8001cebeeb6b81 nfe1/images/seed000055.png +85167dbd14b224ee2950ce0323c86f9fcac310727c9a9850bded1ecfe29c94a8 nfe1/images/seed000056.png +e8da28e4a71753477da2f3b5e935ee70f6fd3fb7d39875ca1dda3801ada84eb9 nfe1/images/seed000057.png +7cd2cb50ed75fb5607ec026db64e8757f0f2ae72fe9b2f69bc93389a4a330475 nfe1/images/seed000058.png +fec1e9446d3e14ad896453ebb888ea0a7b7419f05252af46670a2dcd95e70f89 nfe1/images/seed000059.png +ce979079261c8d6afc983bf7f2879d73d72f19fb92af8df7889ab93e62d7f62e nfe1/images/seed000060.png +4d1b74dd92cb799e702b6103f11102d4d1ff22a94186457df45d3414a9a6de2b nfe1/images/seed000061.png +9b6584027ec5828259c2200c2cba159d83e678b7a2cf1e8865a130dac880afd7 nfe1/images/seed000062.png +e0fb221f8a65ba70e39c8769f3a3cc4f1d782c734d787664d15842c2fa7eab7a nfe1/images/seed000063.png +7182d1a1e77f0d03c9f2d648936eef6fbf50f691d3d9527fe4f47ff9ab6c6fde nfe1/grid_8x8.png +cd9a95c129191ff7573e43b9a88c8d692dcd70a03f62902fb51fb9a942b1cdbb nfe2/images/seed000000.png +852aab845bbf4b81ec16951bafa79ad0faac14b02ed0ba4d58d7dc6a8cacf64d nfe2/images/seed000001.png +318ee02d97a37821e06de46ee20f76deb445e8e42d128c9ffbd054fbecabcdf4 nfe2/images/seed000002.png +447cf8c8b858576e88e028b6acc3995109b2b9247e5aff8d0671a0f806ee06e2 nfe2/images/seed000003.png +fe20d70115bbff0707971860087eb3e80b052e37a0718622bd26b205f88d1545 nfe2/images/seed000004.png +6751b32df5b013e68f3372c317039196968b17f04869db05b13c77da285007ba nfe2/images/seed000005.png +1449bb9685639a62c7e118e856544588e0cdb0fdf4c74d77ee300418650903ff nfe2/images/seed000006.png +4683243aaa80ac4d70beb297cd756e437cdfc305afff880905c822ef9fbe5195 nfe2/images/seed000007.png +efe5e2d1dee964af3317db16a2b61c0a4b317a46616ccd634a5b7bff59b6d313 nfe2/images/seed000008.png +ffac21285d1f0785c14ab5bcffda501bac00e6be3b09a132d3007921f8882453 nfe2/images/seed000009.png +a1fb070bb511904f87190f72e2dfd9f13b1b77802bf1735fd329f42c4abe4266 nfe2/images/seed000010.png +5ddc2caf531f9f57b185e13b18424a6cea37ee13f09c9b903a22ec690da5c98f nfe2/images/seed000011.png +d53a7ac9a601cffc2ab6eba68d1442b42cd10e24ae057f579c2d826b60b3f7d9 nfe2/images/seed000012.png +5fc950c73eca86e45288e264c1fd9735b0ad976fec3e60edce657436fe866c10 nfe2/images/seed000013.png +47dee20afba5ce032ae903b06d7c5108d1d632f06616915c4bf7d8f8579c4b64 nfe2/images/seed000014.png +5139f5fc00c5168e5502a270217f0ca7d08dfb45abc2b99da591fb4c7e30d059 nfe2/images/seed000015.png +bf2cf0b80d7bccb29f93be436fd0996524de6729ea816b35c649c3bcfeaaca87 nfe2/images/seed000016.png +227b29db901c9f7ffbca19a091ddc598bcb42719c040b6c0a992e9eb489cfc10 nfe2/images/seed000017.png +f2b7a275220f58fbf44f8ed79ae836807410e3d4ae853f714063100664fbe40d nfe2/images/seed000018.png +8a5af6eecf54debaee9466e0b335524e762353361c88619c8c2d27d8f9357542 nfe2/images/seed000019.png +d96db0f85811ac317f5c0ac94d2ed37a032ca6eca00f30ac13242e0dfc6c22a4 nfe2/images/seed000020.png +b740617621f901b444f95a0c79e3ab59872ffe8fe4a9335904f631165e0a1bcf nfe2/images/seed000021.png +d9de3402246686ce13873c3062069604431c14eee12db526670ca6d3e6317e32 nfe2/images/seed000022.png +e5b31b3f1c81a6c8dae67d0e8907160da3818bf55f3f2dfb7f0ef63dd73aee7c nfe2/images/seed000023.png +4d57e6ff7d6573ad683ea794a895fc3a39d4d8eef59638ac8f1157582440f753 nfe2/images/seed000024.png +c4356184e57f606207e7639fb40de7e604494dad571315b1ab6f6a7ef3a0d44b nfe2/images/seed000025.png +fc2f7989ba07dfb030ca8911d0c03147e3baef16709b7d4d9b6c6be5e8dda183 nfe2/images/seed000026.png +d1e63a17054692e3cf4b68fc94b82234c8004bd6295c9a47661ddd96098a4bc6 nfe2/images/seed000027.png +e5c7cd3cccc015b4af587bd2fc3ecfa35dd11f40d5c1d14033c71ffc792abb50 nfe2/images/seed000028.png +1f4c46fdb6abc821910255ce447231a1a979a254612167d21d571513abe18be2 nfe2/images/seed000029.png +7fca743d57b23cab048d708637b5edbf3f1b9756de122adb93f85d84f60a0ba0 nfe2/images/seed000030.png +1134e60481d4a35bf04a88e0269b47fac21adaec3588caf55717f9eae11bd6e6 nfe2/images/seed000031.png +44c2a24b17bc2f99c12800e8db2875632e4f970cf253c3773992ba762241aaa5 nfe2/images/seed000032.png +070c14fc348978976fd63b02a30e6871a77a3ab7a128bb0acf6292b9dbba1113 nfe2/images/seed000033.png +dae2bd37be84a210b35ad6dfaf6755a5b0fa609476c01c9188595d01721382d2 nfe2/images/seed000034.png +7b1aa8437231e8696beccb4630c3884d5a663f10cbfaf5e86ff9bb67e70e5c6d nfe2/images/seed000035.png +e3b4e803beeebaf778d0b39c01aa5f12cf83ae14233a0399e14649d200cad436 nfe2/images/seed000036.png +d968d3b1f6abdd412d384b744f172fed61b28ddcdfb0a513e1657d1278b754a9 nfe2/images/seed000037.png +50bd46e0f2db5e7b8a4b70ab8d676de15002723dda7b3fbfa594bf6680b45530 nfe2/images/seed000038.png +fc67a66c204b25a63ef02deab8353370fb8ff9b3e8acab9d76dfd57391e36638 nfe2/images/seed000039.png +20693b49646cff386e576afc48479a2079c8e1e179b1735655cf480b2200e5da nfe2/images/seed000040.png +a4e75aacfb9a3f17b9025977cb48224965e8a200189e66ef65b10b84842c1884 nfe2/images/seed000041.png +f346f8d92148b9846dd1696124a34f1ab0c4f8fdf91e147c50af4e910147a9ea nfe2/images/seed000042.png +9264e9648881509ae9124a4804d62c4ae0632f9614781d6e8e04dc03f4a987c1 nfe2/images/seed000043.png +596115b2b11dc16e7248d97edf8ca5b628245af35ee3e67fc1b72de6d9f833f7 nfe2/images/seed000044.png +80720894653a0c9c9e4a50833c4ae3afef02e2c170da5751d23ef1dfe54c489c nfe2/images/seed000045.png +b6d1d29ea43cf08c6b7b1838adad988ba8f7a887deec2b6ff672a4d1190ac51c nfe2/images/seed000046.png +503b8f8320b47e3f9b8cbb8fcc0c4cc7de52e6c10eb5b71197487a97bfd4235d nfe2/images/seed000047.png +58b72cc23baf4f9e0ff06b93a43ed30869544dafb800bb642e62ffdaf300329a nfe2/images/seed000048.png +7c6b7dcd55865db407d74b96fc2147b1408ec6caddfa5b5b5ef1e18313bf0565 nfe2/images/seed000049.png +5f23abd1727523fc1ce28ffd6944023ed825c0ef475d1bbd585e9d607f6b558f nfe2/images/seed000050.png +eb3ebb93efe68115f21bb4eafd668f1086fb2c99297dc28ecda558be7f33a0e5 nfe2/images/seed000051.png +273adb9d3f22222aaca7766e76d7d2a4e512c521b3b6040bf49d1a2b7a18d279 nfe2/images/seed000052.png +1c622ea8472f6a8457e353f159c9d202ff23c53ebc5ce2891172902da93b2b06 nfe2/images/seed000053.png +6dd93aff112d8adaef8d92de3c5ba43a821486c4fe4ee0ef7ccd604ba44f3504 nfe2/images/seed000054.png +2847a9699bcf67d8af0d5b26e3079c5fc245dc47e51ce297677f77886f196d68 nfe2/images/seed000055.png +e6c9c35b391f96c57ce1d368cd99c8fca9710e7af4ba5ce3333df13c91f63d9c nfe2/images/seed000056.png +8def5b7fb9a1e39e794fb57805b3f1639a543df5c02dfa3ac73ed5f7fb13a3df nfe2/images/seed000057.png +963932b9a84c9e280501e3a4e1a8399542eabd0e47680c4a3a7551115af84400 nfe2/images/seed000058.png +7f3948fd921a6e148a2dae08ee6b42a9ba7d8d4c3ecefb7498e0fcfa304cf4b6 nfe2/images/seed000059.png +d7240ba4b96951475ace8e7bf65c65e02b37cefee714840e3c25d620d11c705f nfe2/images/seed000060.png +d7ded8fee4ad845d19e4fbc8b202bdeea6c1e2c364da432252c9e98d110dd829 nfe2/images/seed000061.png +008bd7fa0b2e7241f20de45c60a7ca4f82a632397c28ee19a88c0100f9fecd31 nfe2/images/seed000062.png +ee78b151bfc536b07a74b79bbbce84720eef9b86dadc24d3c82f96c21726c6b7 nfe2/images/seed000063.png +5796f819d7e46b01ec04d3cda7700f38a3d3fc3e68725be0f498b43a373f701f nfe2/grid_8x8.png +0a39cbd0d2f5f99afe5f29c4d786ef8715ed4f3afc3c18187297b49dbff673a8 metadata.json From 956c6f41390e9e26885e689eb4c3b66d45957c38 Mon Sep 17 00:00:00 2001 From: w10800 <1793719632@qq.com> Date: Thu, 16 Jul 2026 09:34:17 +0800 Subject: [PATCH 09/60] Pin Hugging Face Hub for clean setup --- env.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/env.yml b/env.yml index 006367f4..a3df83d4 100644 --- a/env.yml +++ b/env.yml @@ -20,3 +20,4 @@ dependencies: - pyspng - diffusers==0.26.3 - accelerate==0.27.2 + - huggingface-hub==0.23.4 From 0167aca752713698cb89c5486d1d84e6247562bb Mon Sep 17 00:00:00 2001 From: w10800 <1793719632@qq.com> Date: Thu, 16 Jul 2026 10:13:52 +0800 Subject: [PATCH 10/60] docs: refresh clean-container validation evidence --- artifacts/day3/role_a_environment.json | 46 ++++++++++++++--- artifacts/day3/role_a_smoke_report.json | 50 +++++++++++++++---- docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md | 61 ++++++++++++++--------- 3 files changed, 115 insertions(+), 42 deletions(-) diff --git a/artifacts/day3/role_a_environment.json b/artifacts/day3/role_a_environment.json index 029a4705..74f3de2a 100644 --- a/artifacts/day3/role_a_environment.json +++ b/artifacts/day3/role_a_environment.json @@ -1,8 +1,18 @@ { - "schema_version": 1, - "git_commit": "7c638a4d1f293222ec9eb8ad86cffc03fdcb7282", + "schema_version": 2, "branch": "role-a/clean-container-validation", + "tested_code_sha": "956c6f41390e9e26885e689eb4c3b66d45957c38", + "pr_head_sha_at_validation": "956c6f41390e9e26885e689eb4c3b66d45957c38", "git_dirty": false, + "environment_name": "ect-clean-validation", + "environment_creation_command": "bash setup_env.sh --name ect-clean-validation", + "environment_created_from_scratch": true, + "manual_pip_install": false, + "environment_specification": { + "file": "env.yml", + "huggingface_hub_pin": "huggingface-hub==0.23.4", + "validation_spec_matches_environment_spec": true + }, "gpu": { "name": "NVIDIA A100-PCIE-40GB", "count": 1, @@ -13,19 +23,40 @@ "cuda": "12.1", "environment_validation": "passed", "package_versions": { + "Pillow": "11.3.0", "accelerate": "0.27.2", + "click": "8.1.8", "diffusers": "0.26.3", "huggingface-hub": "0.23.4", - "numpy": "1.26.4", - "scipy": "1.12.0", - "torch": "2.3.0" + "imageio": "2.37.0", + "imageio-ffmpeg": "0.6.0", + "numpy": "2.0.2", + "psutil": "7.0.0", + "pyspng": "0.1.4", + "requests": "2.32.5", + "scipy": "1.13.1", + "torch": "2.3.0", + "tqdm": "4.67.1" }, + "validation_commands": [ + "bash setup_env.sh --name ect-clean-validation", + "conda run -n ect-clean-validation python --version", + "conda run -n ect-clean-validation python -c \"import huggingface_hub; print(huggingface_hub.__version__)\"", + "ECT_ENV_NAME=ect-clean-validation bash prepare_data.sh --check-only", + "ECT_ENV_NAME=ect-clean-validation bash download_checkpoint.sh --check-only", + "ECT_ENV_NAME=ect-clean-validation bash scripts/smoke_engineering_100steps.sh --check-only", + "ECT_ENV_NAME=ect-clean-validation bash scripts/smoke_engineering_100steps.sh --dry-run --port 29521", + "ECT_ENV_NAME=ect-clean-validation bash scripts/smoke_engineering_100steps.sh --port 29521" + ], "dataset_path": "/mnt/ect_project/datasets/cifar10-32x32.zip", "dataset_validation": { "status": "passed", "images": 50000, "labels": 50000, - "resolution": [32, 32], + "resolution": [ + 32, + 32 + ], "color_mode": "RGB", "zip_crc_ok": true, "sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", @@ -34,6 +65,7 @@ "checkpoint_path": "/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl", "checkpoint_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", "checkpoint_validation": "passed", - "environment_adjustment": "The pre-existing ect environment had huggingface-hub 0.20.3 from the superseded branch. It was upgraded to the main-branch-required 0.23.4 before the final setup_env.sh validation.", + "unresolved_issues": [], + "evidence_note": "The validation ran on the code SHA above. The subsequent evidence-only commit changes only the three compact evidence files; the final PR head is recorded in PR #8 metadata and its validation summary comment.", "final_status": "passed" } diff --git a/artifacts/day3/role_a_smoke_report.json b/artifacts/day3/role_a_smoke_report.json index 0dc175c8..1a46a57c 100644 --- a/artifacts/day3/role_a_smoke_report.json +++ b/artifacts/day3/role_a_smoke_report.json @@ -1,19 +1,34 @@ { - "schema_version": 1, + "schema_version": 2, "test_kind": "engineering_connectivity_only", "official_ect_baseline": false, - "git_commit": "7c638a4d1f293222ec9eb8ad86cffc03fdcb7282", "branch": "role-a/clean-container-validation", + "tested_code_sha": "956c6f41390e9e26885e689eb4c3b66d45957c38", + "pr_head_sha_at_validation": "956c6f41390e9e26885e689eb4c3b66d45957c38", + "environment_name": "ect-clean-validation", + "environment_creation_command": "bash setup_env.sh --name ect-clean-validation", + "manual_pip_install": false, + "env_yml_huggingface_hub_pin": "huggingface-hub==0.23.4", "gpu": "NVIDIA A100-PCIE-40GB", "python": "3.9.18", "pytorch": "2.3.0", "cuda": "12.1", "dataset_path": "/mnt/ect_project/datasets/cifar10-32x32.zip", "dataset_validation": "passed", + "dataset_images": 50000, + "dataset_resolution": [ + 32, + 32 + ], + "dataset_color_mode": "RGB", "checkpoint_path": "/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl", "checkpoint_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", - "check_only": "passed", + "environment_check": "passed", + "data_check_only": "passed", + "checkpoint_check_only": "passed", + "smoke_check_only": "passed", "dry_run": "passed", + "port": 29521, "fresh_updates": 100, "resume_updates": 100, "fresh_progress_kimg": 1.0, @@ -36,26 +51,39 @@ "resume_growth_tracker_increment": 100 }, "loss_finite": true, + "loss_sample_counts": { + "fresh": 1000, + "resume": 1000 + }, "loss_means": { - "fresh": [11.838935947418213, 17.023774967267357], - "resume": [16.92818015435338] + "fresh": [ + 11.838935947418213, + 17.023772768939686 + ], + "resume": [ + 16.928153270974754 + ] }, - "wall_time_seconds": 180, + "wall_time_seconds": 185, "peak_vram_mib": 5563, "peak_reserved_vram_mib": 5616, - "run_directory": "/mnt/ect_project/runs/engineering-smoke/7c638a4d-20260715T083443Z", + "nvidia_smi_peak_used_mib": 2807, + "run_directory": "/mnt/ect_project/runs/engineering-smoke/956c6f41-20260716T020346Z", "fresh_snapshot": "fresh-100steps/network-snapshot-000001.pkl", "fresh_training_state": "fresh-100steps/training-state-000001.pt", "resume_snapshot": "resume-100steps/network-snapshot-000001.pkl", "resume_training_state": "resume-100steps/training-state-000001.pt", "all_outputs_persistent": true, "observations": [ - "Fresh and resume stats.jsonl contain only finite Loss/loss means.", - "The console prints a NaN before training_stats.default_collector.update() at the initialization and resume-final maintenance points; this is a reporting-order artifact, not a non-finite recorded training loss.", - "The resume log explicitly records loading GradScaler state from the fresh training state." + "Fresh and Resume stats.jsonl contain only finite Loss/loss means.", + "Both numbered training states contain gradscaler_state.", + "The Resume log explicitly records restoring GradScaler state from the Fresh training state.", + "The console loss nan at initialization and resume maintenance is a reporting-order observation; recorded training losses are finite.", + "No FID or KID process was invoked; both training option files record metrics=[]." ], "unresolved_issues": [ - "env.yml does not explicitly pin huggingface-hub==0.23.4 even though scripts/check_environment.py enforces that exact version." + "Non-blocking reporting-order observation: the console can print loss nan before the statistics collector is updated; no training-loop change is included in this PR." ], + "evidence_note": "The validation ran on the code SHA above. The subsequent evidence-only commit changes only the three compact evidence files; the final PR head is recorded in PR #8 metadata and its validation summary comment.", "final_status": "passed" } diff --git a/docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md b/docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md index fb73193b..f31dfca8 100644 --- a/docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md +++ b/docs/ROLE_A_CLEAN_CONTAINER_VALIDATION.md @@ -2,23 +2,36 @@ ## Result -Role A engineering validation passed on one MatPool A100 container from the frozen integration baseline: +Role A engineering validation passed on one MatPool A100 container using a newly created Conda environment: - branch: `role-a/clean-container-validation` -- commit: `7c638a4d1f293222ec9eb8ad86cffc03fdcb7282` +- tested code SHA: `956c6f41390e9e26885e689eb4c3b66d45957c38` +- PR head at validation: `956c6f41390e9e26885e689eb4c3b66d45957c38` +- environment: `ect-clean-validation` +- creation command: `bash setup_env.sh --name ect-clean-validation` +- manual package installation: none +- environment specification: `env.yml` pins `huggingface-hub==0.23.4` - GPU: NVIDIA A100-PCIE-40GB - Python/PyTorch/CUDA: 3.9.18 / 2.3.0 / 12.1 - persistent project root: `/mnt/ect_project` -- final run: `/mnt/ect_project/runs/engineering-smoke/7c638a4d-20260715T083443Z` +- final run: `/mnt/ect_project/runs/engineering-smoke/956c6f41-20260716T020346Z` This is an engineering connectivity test only. It is not the official fixed ECT baseline and it did not run FID or KID. +The validation ran on the code SHA above. The following evidence-only commit changes only these three compact evidence files; GitHub PR #8 metadata and its validation summary comment record the resulting final PR head SHA. + ## Commands actually run -After checking out the required commit and creating the role branch, the following validation commands were run: +The old `ect` environment was not reused. The environment was created entirely from the updated `env.yml`; no manual `pip install` command was used. ```bash -bash setup_env.sh +bash setup_env.sh --name ect-clean-validation + +conda run -n ect-clean-validation python --version +conda run -n ect-clean-validation python -c \ + "import huggingface_hub; print(huggingface_hub.__version__)" + +export ECT_ENV_NAME=ect-clean-validation bash prepare_data.sh --check-only bash download_checkpoint.sh --check-only bash scripts/smoke_engineering_100steps.sh --check-only @@ -26,14 +39,7 @@ bash scripts/smoke_engineering_100steps.sh --dry-run --port 29521 bash scripts/smoke_engineering_100steps.sh --port 29521 ``` -The container already contained an `ect` environment prepared against a superseded branch. The first `setup_env.sh` invocation correctly rejected `huggingface-hub 0.20.3`; it was reconciled to the required version and the exact setup command was rerun: - -```bash -python -m pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple huggingface-hub==0.23.4 -bash setup_env.sh -``` - -The second invocation passed with a clean Git worktree. No training-code file was changed. +The version checks returned Python 3.9.18 and `huggingface-hub` 0.23.4. The environment, data, checkpoint, smoke check-only, and dry-run checks all passed before training was launched. The Git worktree was clean, and no training algorithm file was changed. ## Asset validation @@ -43,40 +49,47 @@ The default persistent paths were used: - source tarball: `/mnt/ect_project/datasets/cifar-10-python.tar.gz` - transfer checkpoint: `/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl` -Dataset validation passed for 50,000 RGB images, 50,000 labels, 32×32 resolution, valid ZIP CRC, and the official CIFAR-10 source MD5. The official EDM checkpoint SHA-256 matched `4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da`. +Dataset validation passed for 50,000 RGB images, 50,000 labels, 32×32 resolution, valid ZIP CRC, and the official CIFAR-10 source MD5. The EDM checkpoint SHA-256 matched `4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da`. ## Smoke results | Check | Result | | --- | --- | -| check-only | PASS | +| environment check | PASS | +| data check-only | PASS | +| checkpoint check-only | PASS | +| smoke check-only | PASS | | dry-run | PASS | | Fresh optimizer updates | 100, PASS | | Resume optimizer updates | 100 additional, PASS | | Progress | 1.0 kimg → 2.0 kimg | | FP16 / AMP | enabled / enabled | | GradScaler saved | yes | -| GradScaler restored | yes; explicit restore message in resume log | +| GradScaler restored | yes; explicit restore message in Resume log | | Formal metrics | disabled (`metrics=[]`) | -| Wall time | 180 seconds | +| Wall time | 185 seconds | | Peak allocated VRAM | 5,563 MiB | | Peak reserved VRAM | 5,616 MiB | -Both phases generated a numbered network snapshot and training state. Both training-state files contain `gradscaler_state`. The Fresh scaler state ended with scale 8192 and growth tracker 31; after resume it retained scale 8192 and reached growth tracker 131, an increment of exactly 100. +Both phases generated a numbered network snapshot and training state under `/mnt/ect_project`. Both training-state files contain `gradscaler_state`. The Fresh scaler state ended with scale 8192 and growth tracker 31; after Resume it retained scale 8192 and reached growth tracker 131, an increment of exactly 100. ## Loss finiteness check All recorded `Loss/loss` means in `stats.jsonl` are finite: -- Fresh: 11.8389359474 and 17.0237749673 -- Resume: 16.9281801544 +- Fresh: 11.8389359474 and 17.0237727689 (1,000 samples total) +- Resume: 16.9281532710 (1,000 samples total) + +The console has `loss nan` at the initialization and resume maintenance reporting points. The status line can read the default collector before it is updated, while the subsequently written statistics are finite. This remains a non-blocking reporting-order observation; no core training file was changed. + +## GradScaler and metrics audit -The console has `loss nan` at the initialization maintenance point and the resume-final maintenance point. In `training/ct_training_loop.py`, the status line reads the default collector before `default_collector.update()` is called, so a new process can print an empty collector even though the subsequently written statistics are finite. This is a reporting-order observation; no core training file was changed. +The Fresh and Resume states both contain the keys `gradscaler_state`, `net`, and `optimizer_state`. The Resume log explicitly says it loaded GradScaler state from the Fresh `training-state-000001.pt`. Both `training_options.json` files contain `metrics=[]`, and the complete logs contain no FID/KID or metric-runner invocation. ## Storage and Git hygiene -All datasets, checkpoints, training states, complete logs, and generated images remain under `/mnt/ect_project`. Git contains only the two compact Day 3 JSON summaries and this document. No FID-50k job was launched and no large file is included in the branch. +The dataset, transfer checkpoint, numbered checkpoints, complete logs, training states, and generated images remain under `/mnt/ect_project`. Git contains only the environment pin and compact evidence. No FID-50k job was launched and no large file is included in the branch. -## Follow-up observation +## Unresolved issues -`scripts/check_environment.py` requires exactly `huggingface-hub==0.23.4`, while `env.yml` currently leaves that transitive dependency unpinned. A newly resolved environment could therefore install a different version and fail validation. This should be resolved by the integration owner before declaring the environment specification permanently frozen. +There is one non-blocking reporting-order observation: console initialization/maintenance may display `loss nan` before the statistics collector update. Recorded losses are finite, and this PR intentionally does not modify the training loop. From 2e3659051a9985ede8b6dbac2530e28c7253080c Mon Sep 17 00:00:00 2001 From: edwards365 Date: Thu, 16 Jul 2026 10:19:22 +0800 Subject: [PATCH 11/60] Close fixed-seed evaluation acceptance gaps --- README.md | 9 +- docs/EVALUATION_PROTOCOL.md | 101 +++++++++++++ .../fixed_seeds_0_63_fp32_8ksteps/README.md | 14 ++ scripts/sample_fixed_seeds.py | 140 ++++++++++++++---- tests/test_fixed_seed_sampling.py | 83 ++++++++++- 5 files changed, 308 insertions(+), 39 deletions(-) create mode 100644 docs/EVALUATION_PROTOCOL.md create mode 100644 results/fixed_seeds_0_63_fp32_8ksteps/README.md diff --git a/README.md b/README.md index 269db366..d4828140 100644 --- a/README.md +++ b/README.md @@ -80,13 +80,16 @@ bash eval_ecm.sh --resume ### Fixed-seed evaluation -Role D sampling uses seeds 0-63 and verifies that batch sizes 8 and 16 produce pixel-identical results for both NFE=1 and NFE=2: +Role D sampling uses seeds 0-63 and verifies that work-group sizes 8 and 16 produce pixel-identical results for both NFE=1 and NFE=2. It also repeats each configuration to verify deterministic output: + +See [`docs/EVALUATION_PROTOCOL.md`](docs/EVALUATION_PROTOCOL.md) for the complete protocol, metadata requirements, checkpoint-isolated output layout, and metric boundary. ```bash bash scripts/sample_checkpoint.sh \ - --outdir /mnt/ect_project/evaluations/ \ + --outdir /mnt/ect_project/evaluations \ --seeds 0-63 --nfe 1 2 --mid-t 0.821 \ - --batch-size 8 --verify-batch-size 16 + --work-group-size 8 --verify-work-group-size 16 \ + --precision fp32 ``` The output contains one 8x8 grid per NFE, `metadata.json`, `sha256_manifest.txt`, and individual seed images. Keep the individual PNG files under `/mnt`; only commit the grids, metadata, manifest, scripts, and tests. diff --git a/docs/EVALUATION_PROTOCOL.md b/docs/EVALUATION_PROTOCOL.md new file mode 100644 index 00000000..f6ab9ebc --- /dev/null +++ b/docs/EVALUATION_PROTOCOL.md @@ -0,0 +1,101 @@ +# Evaluation protocol + +This document defines the reproducible Role D sampling protocol. It separates +historical evidence from results produced under the current protocol. + +## Result classes + +`results/preliminary_seed42_fp32_8ksteps/` contains preliminary historical +results. They were produced from an older code base and an approximately +8k-update checkpoint. They are retained for reference only, are not directly +comparable with the current B/C protocol, and must not be reported as a final +benchmark. + +`results/fixed_seeds_0_63_fp32_8ksteps/` is also a preliminary historical +smoke from that checkpoint. Its directory-level README records why it does not +satisfy the current protocol. It must not be regenerated or treated as a +current-protocol result. + +Current protocol results must record the checkpoint SHA256, evaluation Git +commit, seeds, NFE, `mid_t`, precision, GPU, work-group sizes, and repeated-run +determinism status in `metadata.json`. They must also record elapsed time, image +and seed counts, the complete seed list, per-mode NFE and `mid_t`, generator +implementation, and the actual forward batch size. + +## Fixed-seed protocol + +- Generate one 32x32 RGB PNG for each seed in 0-63. +- Run NFE=1 and NFE=2, using `mid_t=0.821` for NFE=2. +- Keep the model forward batch size at one. +- Treat 8 and 16 as work-group sizes, not model batch sizes. +- Require pixel-identical output across work-group sizes 8 and 16. +- Repeat each NFE configuration and require pixel-identical output. +- Isolate every result directory by the full checkpoint SHA256. +- Select precision explicitly. Use `fp32` for this acceptance smoke; use + `checkpoint` only when intentionally preserving checkpoint-native precision. + +The sampler writes to `//`. A run fails before +publishing metadata if either work-group or repeated-run determinism fails. + +## Official EDM checkpoint smoke + +Download and verify the official NVIDIA EDM CIFAR-10 32x32 unconditional VP +checkpoint: + +```bash +bash download_checkpoint.sh \ + --output /mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl +``` + +The expected checkpoint SHA256 is: + +```text +4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da +``` + +Run the 64-image NFE=1 plus 64-image NFE=2 smoke: + +```bash +bash scripts/sample_checkpoint.sh \ + /mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl \ + --outdir /mnt/ect_project/evaluations \ + --seeds 0-63 \ + --nfe 1 2 \ + --mid-t 0.821 \ + --work-group-size 8 \ + --verify-work-group-size 16 \ + --precision fp32 \ + --device cuda +``` + +The expected output root is: + +```text +/mnt/ect_project/evaluations/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/ +``` + +Verify the image counts and manifest after the command completes: + +```bash +RESULT=/mnt/ect_project/evaluations/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da +find "$RESULT/nfe1/images" -type f -name '*.png' | wc -l +find "$RESULT/nfe2/images" -type f -name '*.png' | wc -l +(cd "$RESULT" && sha256sum -c sha256_manifest.txt) +``` + +Both image counts must be 64 and every manifest entry must report `OK`. + +## Metric boundary + +This acceptance smoke does not run FID-50k, KID-50k, or any other distribution +metric. Its purpose is limited to checkpoint loading, fixed-seed generation, +output completeness, work-group invariance, and repeated-run determinism. +Historical FID/KID values remain preliminary evidence only. Formal metrics are +deferred until the B/C checkpoint and comparison protocol are finalized. + +## Git artifact policy + +Do not commit the checkpoint or the 128 individual PNG files. For a completed +smoke run, commit only both 8x8 grids, `metadata.json`, and +`sha256_manifest.txt`. Keep the full output tree under +`/mnt/ect_project/evaluations/` as the external evaluation record. diff --git a/results/fixed_seeds_0_63_fp32_8ksteps/README.md b/results/fixed_seeds_0_63_fp32_8ksteps/README.md new file mode 100644 index 00000000..e9c814c9 --- /dev/null +++ b/results/fixed_seeds_0_63_fp32_8ksteps/README.md @@ -0,0 +1,14 @@ +# Preliminary historical fixed-seed smoke + +This directory contains **preliminary historical results** from the Role D +8k-step FP32 checkpoint. It predates `docs/EVALUATION_PROTOCOL.md` and is kept +only as evidence that the initial fixed-seed workflow ran successfully. + +These artifacts are not a formal benchmark and are not directly comparable to +future B/C results. In particular, they were generated before repeated-run +determinism, checkpoint-SHA output isolation, and the final metadata schema were +required. The checkpoint remains outside Git. + +Do not regenerate or reinterpret this directory as a current-protocol result. +Current smoke outputs must use the checkpoint-isolated layout defined in +`docs/EVALUATION_PROTOCOL.md`. diff --git a/scripts/sample_fixed_seeds.py b/scripts/sample_fixed_seeds.py index 2f1e4d56..0c62bf6e 100644 --- a/scripts/sample_fixed_seeds.py +++ b/scripts/sample_fixed_seeds.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""Generate batch-independent fixed-seed samples from an ECT checkpoint.""" +"""Generate work-group-independent fixed-seed samples from a checkpoint.""" import argparse import hashlib @@ -7,6 +7,7 @@ import pickle import subprocess import sys +import time from pathlib import Path import numpy as np @@ -48,14 +49,14 @@ def seeded_inputs(seeds, shape, intermediate_steps): return torch.stack(latents), [torch.stack(items) for items in noises] -def generate_uint8(net, seeds, nfe, mid_t, batch_size, device): +def generate_uint8(net, seeds, nfe, mid_t, work_group_size, device): shape = (net.img_channels, net.img_resolution, net.img_resolution) images = [] - for start in range(0, len(seeds), batch_size): - batch_seeds = seeds[start:start + batch_size] + for start in range(0, len(seeds), work_group_size): + work_group_seeds = seeds[start:start + work_group_size] # Keep model forwards at batch=1. cuDNN may select different convolution # plans for different batch shapes, which can change quantized pixels. - for seed in batch_seeds: + for seed in work_group_seeds: latents, step_noises = seeded_inputs([seed], shape, nfe - 1) image = generator_fn( net, @@ -72,15 +73,35 @@ def image_bytes(image): return image.transpose(1, 2, 0).tobytes() -def assert_batch_equivalence(net, seeds, nfe, mid_t, first, second, device): +def differing_seeds(seeds, first_images, second_images): + return [ + seed + for seed, first, second in zip(seeds, first_images, second_images) + if image_bytes(first) != image_bytes(second) + ] + + +def assert_work_group_equivalence(net, seeds, nfe, mid_t, first, second, device): first_images = generate_uint8(net, seeds, nfe, mid_t, first, device) second_images = generate_uint8(net, seeds, nfe, mid_t, second, device) - mismatches = [seed for seed, a, b in zip(seeds, first_images, second_images) if image_bytes(a) != image_bytes(b)] + mismatches = differing_seeds(seeds, first_images, second_images) if mismatches: - raise RuntimeError(f"NFE={nfe} differs across batch sizes {first}/{second} for seeds: {mismatches}") + raise RuntimeError( + f"NFE={nfe} differs across work-group sizes {first}/{second} " + f"for seeds: {mismatches}" + ) return first_images +def assert_repeat_equivalence(net, seeds, nfe, mid_t, work_group_size, reference, device): + repeated = generate_uint8(net, seeds, nfe, mid_t, work_group_size, device) + mismatches = differing_seeds(seeds, reference, repeated) + if mismatches: + raise RuntimeError( + f"NFE={nfe} differs across repeated runs for seeds: {mismatches}" + ) + + def save_rgb(image, path): path.parent.mkdir(parents=True, exist_ok=True) PIL.Image.fromarray(image.transpose(1, 2, 0), mode="RGB").save(path) @@ -96,6 +117,36 @@ def save_grid(images, path, columns=8): PIL.Image.fromarray(grid, mode="RGB").save(path) +def save_mode_outputs(images, seeds, mode_dir): + if len(images) != len(seeds): + raise ValueError("the image and seed counts must match") + if len(set(seeds)) != len(seeds): + raise ValueError("seeds must not contain duplicates") + + paths = [] + for seed, image in zip(seeds, images): + path = mode_dir / "images" / f"seed{seed:06d}.png" + save_rgb(image, path) + paths.append(path) + + grid_path = mode_dir / "grid_8x8.png" + save_grid(images, grid_path) + paths.append(grid_path) + return paths + + +def configure_precision(net, requested, device): + native = "fp16" if getattr(net, "use_fp16", False) else "fp32" + if requested == "checkpoint": + return native + if not hasattr(net, "use_fp16"): + raise ValueError("the checkpoint network does not expose use_fp16") + if requested == "fp16" and not str(device).startswith("cuda"): + raise ValueError("fp16 sampling requires a CUDA device") + net.use_fp16 = requested == "fp16" + return requested + + def main(): parser = argparse.ArgumentParser() parser.add_argument("--network", required=True, help="Checkpoint PKL path or URL") @@ -103,59 +154,90 @@ def main(): parser.add_argument("--seeds", default="0-63") parser.add_argument("--nfe", type=int, choices=[1, 2], nargs="+", default=[1, 2]) parser.add_argument("--mid-t", type=float, default=0.821) - parser.add_argument("--batch-size", type=int, default=8) - parser.add_argument("--verify-batch-size", type=int, default=16) + parser.add_argument("--work-group-size", type=int, default=8) + parser.add_argument("--verify-work-group-size", type=int, default=16) + parser.add_argument( + "--precision", choices=["checkpoint", "fp32", "fp16"], default="checkpoint" + ) parser.add_argument("--device", default="cuda") args = parser.parse_args() seeds = parse_int_list(args.seeds) if not seeds: raise SystemExit("--seeds must not be empty") - args.outdir.mkdir(parents=True, exist_ok=True) - + if len(set(seeds)) != len(seeds): + raise SystemExit("--seeds must not contain duplicates") with dnnlib.util.open_url(args.network, verbose=True) as handle: checkpoint_bytes = handle.read() checkpoint_sha256 = hashlib.sha256(checkpoint_bytes).hexdigest() + run_dir = args.outdir / checkpoint_sha256 + run_dir.mkdir(parents=True, exist_ok=True) data = pickle.loads(checkpoint_bytes) net = data["ema"].eval().requires_grad_(False).to(args.device) + effective_precision = configure_precision(net, args.precision, args.device) manifest = [] + modes = [] + started_at = time.perf_counter() with torch.no_grad(): for nfe in args.nfe: - images = assert_batch_equivalence( - net, seeds, nfe, args.mid_t, args.batch_size, - args.verify_batch_size, args.device, + mode_started_at = time.perf_counter() + images = assert_work_group_equivalence( + net, seeds, nfe, args.mid_t, args.work_group_size, + args.verify_work_group_size, args.device, + ) + assert_repeat_equivalence( + net, seeds, nfe, args.mid_t, args.work_group_size, + images, args.device, ) - mode_dir = args.outdir / f"nfe{nfe}" - for seed, image in zip(seeds, images): - path = mode_dir / "images" / f"seed{seed:06d}.png" - save_rgb(image, path) - manifest.append((sha256_file(path), path.relative_to(args.outdir).as_posix())) - grid_path = mode_dir / "grid_8x8.png" - save_grid(images, grid_path) - manifest.append((sha256_file(grid_path), grid_path.relative_to(args.outdir).as_posix())) + mode_dir = run_dir / f"nfe{nfe}" + paths = save_mode_outputs(images, seeds, mode_dir) + for path in paths: + manifest.append((sha256_file(path), path.relative_to(run_dir).as_posix())) + modes.append({ + "name": f"nfe{nfe}", + "nfe": nfe, + "mid_t": None if nfe == 1 else args.mid_t, + "image_count": len(images), + "elapsed_seconds": round(time.perf_counter() - mode_started_at, 6), + }) + elapsed_seconds = round(time.perf_counter() - started_at, 6) metadata = { "checkpoint": args.network, "checkpoint_sha256": checkpoint_sha256, + "output_directory": str(run_dir), "evaluation_git_commit": git_commit(), "seeds": seeds, + "seed_list": seeds, + "seed_count": len(seeds), + "image_count": len(seeds) * len(args.nfe), "nfe": args.nfe, "mid_t": args.mid_t, - "precision": "fp16" if getattr(net, "use_fp16", False) else "fp32", + "modes": modes, + "elapsed_seconds": elapsed_seconds, + "generator_implementation": "ct_eval.generator_fn", + "precision_requested": args.precision, + "precision": effective_precision, "gpu": torch.cuda.get_device_name(0) if torch.cuda.is_available() else "cpu", "image_format": "32x32 RGB" if net.img_resolution == 32 and net.img_channels == 3 else f"{net.img_resolution}x{net.img_resolution} channels={net.img_channels}", - "batch_sizes_verified": [args.batch_size, args.verify_batch_size], - "model_forward_batch_size": 1, - "batch_independent_sha256": True, + "work_group_sizes_verified": [ + args.work_group_size, + args.verify_work_group_size, + ], + "forward_batch_size": 1, + "work_group_independent_sha256": True, + "repeat_runs_verified": 2, + "repeat_run_deterministic_sha256": True, } - metadata_path = args.outdir / "metadata.json" + metadata_path = run_dir / "metadata.json" metadata_path.write_text(json.dumps(metadata, indent=2) + "\n", encoding="utf-8") manifest.append((sha256_file(metadata_path), metadata_path.name)) - (args.outdir / "sha256_manifest.txt").write_text( + (run_dir / "sha256_manifest.txt").write_text( "".join(f"{digest} {name}\n" for digest, name in manifest), encoding="utf-8" ) print(json.dumps(metadata, indent=2)) + print(f"Results written to {run_dir}") if __name__ == "__main__": diff --git a/tests/test_fixed_seed_sampling.py b/tests/test_fixed_seed_sampling.py index 4425bcbf..ae708cec 100644 --- a/tests/test_fixed_seed_sampling.py +++ b/tests/test_fixed_seed_sampling.py @@ -1,14 +1,25 @@ import unittest +from pathlib import Path +from tempfile import TemporaryDirectory import numpy as np +import PIL.Image import torch -from scripts.sample_fixed_seeds import generate_uint8 +from scripts.sample_fixed_seeds import ( + assert_repeat_equivalence, + assert_work_group_equivalence, + configure_precision, + generate_uint8, + save_mode_outputs, + sha256_file, +) class DummyNet(torch.nn.Module): img_channels = 3 img_resolution = 32 + use_fp16 = False def round_sigma(self, sigma): return sigma @@ -22,16 +33,74 @@ def forward(self, x, sigma, class_labels=None): class FixedSeedSamplingTest(unittest.TestCase): - def test_batches_are_pixel_identical_for_nfe1_and_nfe2(self): + def test_precision_is_explicit_and_reported(self): + net = DummyNet().eval() + self.assertEqual(configure_precision(net, "checkpoint", "cpu"), "fp32") + self.assertEqual(configure_precision(net, "fp32", "cpu"), "fp32") + with self.assertRaisesRegex(ValueError, "requires a CUDA device"): + configure_precision(net, "fp16", "cpu") + + def test_work_groups_are_pixel_identical_for_nfe1_and_nfe2(self): + net = DummyNet().eval() + seeds = list(range(64)) + for nfe in [1, 2]: + with self.subTest(nfe=nfe): + group8 = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") + group16 = generate_uint8(net, seeds, nfe, 0.821, 16, "cpu") + self.assertEqual(group8.shape, (64, 3, 32, 32)) + self.assertEqual(group8.dtype, np.uint8) + np.testing.assert_array_equal(group8, group16) + + def test_repeated_runs_are_pixel_identical_for_nfe1_and_nfe2(self): net = DummyNet().eval() seeds = list(range(64)) for nfe in [1, 2]: with self.subTest(nfe=nfe): - batch8 = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") - batch16 = generate_uint8(net, seeds, nfe, 0.821, 16, "cpu") - self.assertEqual(batch8.shape, (64, 3, 32, 32)) - self.assertEqual(batch8.dtype, np.uint8) - np.testing.assert_array_equal(batch8, batch16) + reference = assert_work_group_equivalence( + net, seeds, nfe, 0.821, 8, 16, "cpu" + ) + assert_repeat_equivalence( + net, seeds, nfe, 0.821, 8, reference, "cpu" + ) + + def test_repeated_png_sha256_is_identical(self): + net = DummyNet().eval() + seeds = list(range(64)) + with TemporaryDirectory() as temp_dir: + root = Path(temp_dir) + for nfe in [1, 2]: + with self.subTest(nfe=nfe): + first = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") + second = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") + first_paths = save_mode_outputs(first, seeds, root / "first" / f"nfe{nfe}") + second_paths = save_mode_outputs(second, seeds, root / "second" / f"nfe{nfe}") + self.assertEqual( + [sha256_file(path) for path in first_paths], + [sha256_file(path) for path in second_paths], + ) + + def test_protocol_outputs_are_complete_rgb_images(self): + net = DummyNet().eval() + seeds = list(range(64)) + self.assertEqual(seeds, list(range(64))) + self.assertEqual(len(seeds), len(set(seeds))) + + with TemporaryDirectory() as temp_dir: + root = Path(temp_dir) + for nfe in [1, 2]: + with self.subTest(nfe=nfe): + images = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") + paths = save_mode_outputs(images, seeds, root / f"nfe{nfe}") + image_paths = paths[:-1] + self.assertEqual(len(image_paths), 64) + self.assertEqual( + {path.name for path in image_paths}, + {f"seed{seed:06d}.png" for seed in range(64)}, + ) + for path in image_paths: + with PIL.Image.open(path) as image: + self.assertEqual(image.mode, "RGB") + self.assertEqual(image.size, (32, 32)) if __name__ == "__main__": From 59d39a5418bcc97aef69bce140a31b657ed6f582 Mon Sep 17 00:00:00 2001 From: edwards365 Date: Thu, 16 Jul 2026 10:34:49 +0800 Subject: [PATCH 12/60] Add official EDM fixed-seed smoke artifacts --- .../metadata.json | 175 ++++++++++++++++++ .../nfe1/grid_8x8.png | Bin 0 -> 91023 bytes .../nfe2/grid_8x8.png | Bin 0 -> 64976 bytes .../sha256_manifest.txt | 131 +++++++++++++ 4 files changed, 306 insertions(+) create mode 100644 results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/metadata.json create mode 100644 results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/nfe1/grid_8x8.png create mode 100644 results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/nfe2/grid_8x8.png create mode 100644 results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/sha256_manifest.txt diff --git a/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/metadata.json b/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/metadata.json new file mode 100644 index 00000000..5798099c --- /dev/null +++ b/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/metadata.json @@ -0,0 +1,175 @@ +{ + "checkpoint": "/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl", + "checkpoint_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "output_directory": "/mnt/ect_project/evaluations/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "evaluation_git_commit": "2e3659051a9985ede8b6dbac2530e28c7253080c", + "seeds": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "seed_list": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "seed_count": 64, + "image_count": 128, + "nfe": [ + 1, + 2 + ], + "mid_t": 0.821, + "modes": [ + { + "name": "nfe1", + "nfe": 1, + "mid_t": null, + "image_count": 64, + "elapsed_seconds": 4.476461 + }, + { + "name": "nfe2", + "nfe": 2, + "mid_t": 0.821, + "image_count": 64, + "elapsed_seconds": 7.324607 + } + ], + "elapsed_seconds": 11.801117, + "generator_implementation": "ct_eval.generator_fn", + "precision_requested": "fp32", + "precision": "fp32", + "gpu": "NVIDIA A100-PCIE-40GB", + "image_format": "32x32 RGB", + "work_group_sizes_verified": [ + 8, + 16 + ], + "forward_batch_size": 1, + "work_group_independent_sha256": true, + "repeat_runs_verified": 2, + "repeat_run_deterministic_sha256": true +} diff --git a/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/nfe1/grid_8x8.png b/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/nfe1/grid_8x8.png new file mode 100644 index 0000000000000000000000000000000000000000..c949a2aad13999387b6e71f14576ecb4acc2ebe7 GIT binary patch literal 91023 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

Pfz&6W$%|*k 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≫^0ww(mg&;7e4hUbjxkE5juIuC1^X2PCSQM%* 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 zofBem Date: Thu, 16 Jul 2026 10:49:06 +0800 Subject: [PATCH 13/60] Refine deterministic evaluation protocol schema --- README.md | 2 +- docs/EVALUATION_PROTOCOL.md | 50 +++++++++--- scripts/sample_fixed_seeds.py | 111 ++++++++++++++++++-------- tests/test_fixed_seed_sampling.py | 126 ++++++++++++++++++++++++------ 4 files changed, 222 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index d4828140..9012505e 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ bash scripts/sample_checkpoint.sh \ --precision fp32 ``` -The output contains one 8x8 grid per NFE, `metadata.json`, `sha256_manifest.txt`, and individual seed images. Keep the individual PNG files under `/mnt`; only commit the grids, metadata, manifest, scripts, and tests. +The output is isolated under `/-/` and contains one 8x8 grid per NFE, `metadata.json`, `sha256_manifest.txt`, and individual seed images. Keep the individual PNG files under `/mnt`; only commit the grids, metadata, manifest, scripts, and tests. The unified metric entry point supports explicit one-step or two-step evaluation through `--nfe=1` or `--nfe=2`: diff --git a/docs/EVALUATION_PROTOCOL.md b/docs/EVALUATION_PROTOCOL.md index f6ab9ebc..c0f953aa 100644 --- a/docs/EVALUATION_PROTOCOL.md +++ b/docs/EVALUATION_PROTOCOL.md @@ -24,18 +24,45 @@ implementation, and the actual forward batch size. ## Fixed-seed protocol +- Seeds 0-63 denote 64 per-sample seeds, not 64 repeated metric runs. - Generate one 32x32 RGB PNG for each seed in 0-63. -- Run NFE=1 and NFE=2, using `mid_t=0.821` for NFE=2. +- NFE=1 uses `mid_t=[]`. +- NFE=2 uses `mid_t=[0.821]`. +- For a given seed, NFE=1 and NFE=2 use the same initial latent. +- The NFE=2 intermediate noise is also deterministically derived from that seed. +- The 64 images per mode are used for visualization and determinism checks. - Keep the model forward batch size at one. - Treat 8 and 16 as work-group sizes, not model batch sizes. - Require pixel-identical output across work-group sizes 8 and 16. - Repeat each NFE configuration and require pixel-identical output. -- Isolate every result directory by the full checkpoint SHA256. +- Isolate every result directory using the checkpoint filename and the first 12 + characters of its SHA256. - Select precision explicitly. Use `fp32` for this acceptance smoke; use `checkpoint` only when intentionally preserving checkpoint-native precision. -The sampler writes to `//`. A run fails before -publishing metadata if either work-group or repeated-run determinism fails. +The sampler writes to `/-/`. For +example, the official checkpoint is written under +`edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/`. A run fails before publishing +metadata if either work-group or repeated-run determinism fails. + +Each checkpoint directory contains: + +```text +nfe1/ + images/ + grid_8x8.png +nfe2/ + images/ + grid_8x8.png +metadata.json +sha256_manifest.txt +``` + +The metadata schema records the evaluation Git commit, checkpoint path and +SHA256, checkpoint ID, seed list, NFE modes, `mid_t` per mode, precision, +device, GPU, elapsed time, image counts, generator implementation, actual +model forward batch size, verified work-group sizes, image dimensions, and the +overall determinism result. ## Official EDM checkpoint smoke @@ -71,13 +98,13 @@ bash scripts/sample_checkpoint.sh \ The expected output root is: ```text -/mnt/ect_project/evaluations/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/ +/mnt/ect_project/evaluations/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/ ``` Verify the image counts and manifest after the command completes: ```bash -RESULT=/mnt/ect_project/evaluations/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da +RESULT=/mnt/ect_project/evaluations/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d find "$RESULT/nfe1/images" -type f -name '*.png' | wc -l find "$RESULT/nfe2/images" -type f -name '*.png' | wc -l (cd "$RESULT" && sha256sum -c sha256_manifest.txt) @@ -88,10 +115,13 @@ Both image counts must be 64 and every manifest entry must report `OK`. ## Metric boundary This acceptance smoke does not run FID-50k, KID-50k, or any other distribution -metric. Its purpose is limited to checkpoint loading, fixed-seed generation, -output completeness, work-group invariance, and repeated-run determinism. -Historical FID/KID values remain preliminary evidence only. Formal metrics are -deferred until the B/C checkpoint and comparison protocol are finalized. +metric. In particular, generating seeds 0-63 does not mean running FID 64 +times. Its purpose is limited to checkpoint loading, fixed-seed generation, +visualization, output completeness, work-group invariance, and repeated-run +determinism. Historical seed42 FP32 FID/KID values remain preliminary evidence +and are not directly comparable with current B/C formal results. Formal +FID-50k runs only after the final checkpoint and comparison protocol are +frozen. ## Git artifact policy diff --git a/scripts/sample_fixed_seeds.py b/scripts/sample_fixed_seeds.py index 0c62bf6e..aaedca1d 100644 --- a/scripts/sample_fixed_seeds.py +++ b/scripts/sample_fixed_seeds.py @@ -5,10 +5,12 @@ import hashlib import json import pickle +import re import subprocess import sys import time from pathlib import Path +from urllib.parse import urlparse import numpy as np import PIL.Image @@ -38,6 +40,13 @@ def git_commit(): return "unknown" +def make_checkpoint_id(checkpoint_path, checkpoint_sha256): + filename = Path(urlparse(str(checkpoint_path)).path).name + stem = Path(filename).stem or "checkpoint" + safe_stem = re.sub(r"[^A-Za-z0-9._-]+", "-", stem).strip("-._") + return f"{safe_stem or 'checkpoint'}-{checkpoint_sha256[:12]}" + + def seeded_inputs(seeds, shape, intermediate_steps): latents = [] noises = [[] for _ in range(intermediate_steps)] @@ -147,6 +156,61 @@ def configure_precision(net, requested, device): return requested +def build_metadata( + *, args, checkpoint_sha256, checkpoint_id, run_dir, net, + effective_precision, seeds, modes, elapsed_seconds, +): + mode_names = [mode["name"] for mode in modes] + return { + "schema_version": "1.0", + "evaluation_git_commit": git_commit(), + "checkpoint_path": args.network, + "checkpoint_sha256": checkpoint_sha256, + "checkpoint_id": checkpoint_id, + "output_directory": str(run_dir), + "seed_count": len(seeds), + "seed_list": seeds, + "nfe_modes": [mode["nfe"] for mode in modes], + "mid_t_by_mode": { + mode["name"]: mode["mid_t"] for mode in modes + }, + "precision_requested": args.precision, + "precision": effective_precision, + "device": str(args.device), + "gpu": ( + torch.cuda.get_device_name(0) + if str(args.device).startswith("cuda") and torch.cuda.is_available() + else "cpu" + ), + "elapsed_seconds_total": elapsed_seconds, + "elapsed_seconds_by_mode": { + mode["name"]: mode["elapsed_seconds"] for mode in modes + }, + "image_count_total": sum(mode["image_count"] for mode in modes), + "image_count_by_mode": { + mode["name"]: mode["image_count"] for mode in modes + }, + "generator_implementation": "ct_eval.generator_fn", + "model_forward_batch_size": 1, + "work_group_sizes_verified": [ + args.work_group_size, + args.verify_work_group_size, + ], + "image_resolution": [net.img_resolution, net.img_resolution], + "image_channels": net.img_channels, + "determinism_passed": True, + "repeat_runs_verified": 2, + "verified_modes": mode_names, + } + + +def write_manifest(entries, path): + path.write_text( + "".join(f"{digest} {name}\n" for digest, name in entries), + encoding="utf-8", + ) + + def main(): parser = argparse.ArgumentParser() parser.add_argument("--network", required=True, help="Checkpoint PKL path or URL") @@ -170,7 +234,8 @@ def main(): with dnnlib.util.open_url(args.network, verbose=True) as handle: checkpoint_bytes = handle.read() checkpoint_sha256 = hashlib.sha256(checkpoint_bytes).hexdigest() - run_dir = args.outdir / checkpoint_sha256 + checkpoint_id = make_checkpoint_id(args.network, checkpoint_sha256) + run_dir = args.outdir / checkpoint_id run_dir.mkdir(parents=True, exist_ok=True) data = pickle.loads(checkpoint_bytes) net = data["ema"].eval().requires_grad_(False).to(args.device) @@ -197,45 +262,27 @@ def main(): modes.append({ "name": f"nfe{nfe}", "nfe": nfe, - "mid_t": None if nfe == 1 else args.mid_t, + "mid_t": [] if nfe == 1 else [args.mid_t], "image_count": len(images), "elapsed_seconds": round(time.perf_counter() - mode_started_at, 6), }) elapsed_seconds = round(time.perf_counter() - started_at, 6) - metadata = { - "checkpoint": args.network, - "checkpoint_sha256": checkpoint_sha256, - "output_directory": str(run_dir), - "evaluation_git_commit": git_commit(), - "seeds": seeds, - "seed_list": seeds, - "seed_count": len(seeds), - "image_count": len(seeds) * len(args.nfe), - "nfe": args.nfe, - "mid_t": args.mid_t, - "modes": modes, - "elapsed_seconds": elapsed_seconds, - "generator_implementation": "ct_eval.generator_fn", - "precision_requested": args.precision, - "precision": effective_precision, - "gpu": torch.cuda.get_device_name(0) if torch.cuda.is_available() else "cpu", - "image_format": "32x32 RGB" if net.img_resolution == 32 and net.img_channels == 3 else f"{net.img_resolution}x{net.img_resolution} channels={net.img_channels}", - "work_group_sizes_verified": [ - args.work_group_size, - args.verify_work_group_size, - ], - "forward_batch_size": 1, - "work_group_independent_sha256": True, - "repeat_runs_verified": 2, - "repeat_run_deterministic_sha256": True, - } + metadata = build_metadata( + args=args, + checkpoint_sha256=checkpoint_sha256, + checkpoint_id=checkpoint_id, + run_dir=run_dir, + net=net, + effective_precision=effective_precision, + seeds=seeds, + modes=modes, + elapsed_seconds=elapsed_seconds, + ) metadata_path = run_dir / "metadata.json" metadata_path.write_text(json.dumps(metadata, indent=2) + "\n", encoding="utf-8") manifest.append((sha256_file(metadata_path), metadata_path.name)) - (run_dir / "sha256_manifest.txt").write_text( - "".join(f"{digest} {name}\n" for digest, name in manifest), encoding="utf-8" - ) + write_manifest(manifest, run_dir / "sha256_manifest.txt") print(json.dumps(metadata, indent=2)) print(f"Results written to {run_dir}") diff --git a/tests/test_fixed_seed_sampling.py b/tests/test_fixed_seed_sampling.py index ae708cec..94a7ed82 100644 --- a/tests/test_fixed_seed_sampling.py +++ b/tests/test_fixed_seed_sampling.py @@ -1,4 +1,5 @@ import unittest +from argparse import Namespace from pathlib import Path from tempfile import TemporaryDirectory @@ -9,10 +10,14 @@ from scripts.sample_fixed_seeds import ( assert_repeat_equivalence, assert_work_group_equivalence, + build_metadata, configure_precision, generate_uint8, + make_checkpoint_id, save_mode_outputs, + seeded_inputs, sha256_file, + write_manifest, ) @@ -33,64 +38,75 @@ def forward(self, x, sigma, class_labels=None): class FixedSeedSamplingTest(unittest.TestCase): + def setUp(self): + self.net = DummyNet().eval() + self.seeds = list(range(64)) + def test_precision_is_explicit_and_reported(self): - net = DummyNet().eval() - self.assertEqual(configure_precision(net, "checkpoint", "cpu"), "fp32") - self.assertEqual(configure_precision(net, "fp32", "cpu"), "fp32") + self.assertEqual(configure_precision(self.net, "checkpoint", "cpu"), "fp32") + self.assertEqual(configure_precision(self.net, "fp32", "cpu"), "fp32") with self.assertRaisesRegex(ValueError, "requires a CUDA device"): - configure_precision(net, "fp16", "cpu") + configure_precision(self.net, "fp16", "cpu") + + def test_checkpoint_id_uses_filename_and_sha_prefix(self): + digest = "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da" + self.assertEqual( + make_checkpoint_id("/tmp/edm-cifar10-32x32-uncond-vp.pkl", digest), + "edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d", + ) + + def test_same_seed_shares_initial_latent_and_deterministic_noise(self): + shape = (3, 32, 32) + one_step_latent, _ = seeded_inputs([7], shape, 0) + two_step_latent, first_noise = seeded_inputs([7], shape, 1) + repeated_latent, repeated_noise = seeded_inputs([7], shape, 1) + torch.testing.assert_close(one_step_latent, two_step_latent, rtol=0, atol=0) + torch.testing.assert_close(two_step_latent, repeated_latent, rtol=0, atol=0) + torch.testing.assert_close(first_noise[0], repeated_noise[0], rtol=0, atol=0) def test_work_groups_are_pixel_identical_for_nfe1_and_nfe2(self): - net = DummyNet().eval() - seeds = list(range(64)) for nfe in [1, 2]: with self.subTest(nfe=nfe): - group8 = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") - group16 = generate_uint8(net, seeds, nfe, 0.821, 16, "cpu") + group8 = generate_uint8(self.net, self.seeds, nfe, 0.821, 8, "cpu") + group16 = generate_uint8(self.net, self.seeds, nfe, 0.821, 16, "cpu") self.assertEqual(group8.shape, (64, 3, 32, 32)) self.assertEqual(group8.dtype, np.uint8) np.testing.assert_array_equal(group8, group16) def test_repeated_runs_are_pixel_identical_for_nfe1_and_nfe2(self): - net = DummyNet().eval() - seeds = list(range(64)) for nfe in [1, 2]: with self.subTest(nfe=nfe): reference = assert_work_group_equivalence( - net, seeds, nfe, 0.821, 8, 16, "cpu" + self.net, self.seeds, nfe, 0.821, 8, 16, "cpu" ) assert_repeat_equivalence( - net, seeds, nfe, 0.821, 8, reference, "cpu" + self.net, self.seeds, nfe, 0.821, 8, reference, "cpu" ) def test_repeated_png_sha256_is_identical(self): - net = DummyNet().eval() - seeds = list(range(64)) with TemporaryDirectory() as temp_dir: root = Path(temp_dir) for nfe in [1, 2]: with self.subTest(nfe=nfe): - first = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") - second = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") - first_paths = save_mode_outputs(first, seeds, root / "first" / f"nfe{nfe}") - second_paths = save_mode_outputs(second, seeds, root / "second" / f"nfe{nfe}") + first = generate_uint8(self.net, self.seeds, nfe, 0.821, 8, "cpu") + second = generate_uint8(self.net, self.seeds, nfe, 0.821, 8, "cpu") + first_paths = save_mode_outputs(first, self.seeds, root / "first" / f"nfe{nfe}") + second_paths = save_mode_outputs(second, self.seeds, root / "second" / f"nfe{nfe}") self.assertEqual( [sha256_file(path) for path in first_paths], [sha256_file(path) for path in second_paths], ) def test_protocol_outputs_are_complete_rgb_images(self): - net = DummyNet().eval() - seeds = list(range(64)) - self.assertEqual(seeds, list(range(64))) - self.assertEqual(len(seeds), len(set(seeds))) + self.assertEqual(self.seeds, list(range(64))) + self.assertEqual(len(self.seeds), len(set(self.seeds))) with TemporaryDirectory() as temp_dir: root = Path(temp_dir) for nfe in [1, 2]: with self.subTest(nfe=nfe): - images = generate_uint8(net, seeds, nfe, 0.821, 8, "cpu") - paths = save_mode_outputs(images, seeds, root / f"nfe{nfe}") + images = generate_uint8(self.net, self.seeds, nfe, 0.821, 8, "cpu") + paths = save_mode_outputs(images, self.seeds, root / f"nfe{nfe}") image_paths = paths[:-1] self.assertEqual(len(image_paths), 64) self.assertEqual( @@ -102,6 +118,68 @@ def test_protocol_outputs_are_complete_rgb_images(self): self.assertEqual(image.mode, "RGB") self.assertEqual(image.size, (32, 32)) + def test_seed_zero_and_one_are_distinct(self): + images = generate_uint8(self.net, [0, 1], 1, 0.821, 8, "cpu") + self.assertNotEqual(images[0].tobytes(), images[1].tobytes()) + + def test_metadata_records_nfe_mid_t_and_required_schema(self): + args = Namespace( + network="/tmp/model.pkl", + precision="fp32", + device="cpu", + work_group_size=8, + verify_work_group_size=16, + ) + modes = [ + {"name": "nfe1", "nfe": 1, "mid_t": [], "image_count": 64, "elapsed_seconds": 1.0}, + {"name": "nfe2", "nfe": 2, "mid_t": [0.821], "image_count": 64, "elapsed_seconds": 2.0}, + ] + metadata = build_metadata( + args=args, + checkpoint_sha256="a" * 64, + checkpoint_id="model-aaaaaaaaaaaa", + run_dir=Path("/tmp/evaluations/model-aaaaaaaaaaaa"), + net=self.net, + effective_precision="fp32", + seeds=self.seeds, + modes=modes, + elapsed_seconds=3.0, + ) + self.assertEqual(metadata["schema_version"], "1.0") + self.assertEqual(metadata["nfe_modes"], [1, 2]) + self.assertEqual(metadata["mid_t_by_mode"], {"nfe1": [], "nfe2": [0.821]}) + self.assertEqual(metadata["image_count_by_mode"], {"nfe1": 64, "nfe2": 64}) + self.assertEqual(metadata["image_count_total"], 128) + self.assertEqual(metadata["model_forward_batch_size"], 1) + self.assertTrue(metadata["determinism_passed"]) + + def test_manifest_covers_images_grids_and_metadata(self): + with TemporaryDirectory() as temp_dir: + root = Path(temp_dir) + entries = [] + for nfe in [1, 2]: + images = generate_uint8(self.net, self.seeds, nfe, 0.821, 8, "cpu") + for path in save_mode_outputs(images, self.seeds, root / f"nfe{nfe}"): + entries.append((sha256_file(path), path.relative_to(root).as_posix())) + metadata_path = root / "metadata.json" + metadata_path.write_text("{}\n", encoding="utf-8") + entries.append((sha256_file(metadata_path), "metadata.json")) + manifest_path = root / "sha256_manifest.txt" + write_manifest(entries, manifest_path) + + names = { + line.split(" ", 1)[1] + for line in manifest_path.read_text(encoding="utf-8").splitlines() + } + expected_images = { + f"nfe{nfe}/images/seed{seed:06d}.png" + for nfe in [1, 2] + for seed in self.seeds + } + self.assertTrue(expected_images.issubset(names)) + self.assertTrue({"nfe1/grid_8x8.png", "nfe2/grid_8x8.png", "metadata.json"}.issubset(names)) + self.assertEqual(len(names), 131) + if __name__ == "__main__": unittest.main() From d95094b2e49e15a616a6b5c5dfc7a6676a91f833 Mon Sep 17 00:00:00 2001 From: edwards365 Date: Thu, 16 Jul 2026 11:03:20 +0800 Subject: [PATCH 14/60] chore: validate evaluation workflow on latest main --- .../metadata.json | 175 ------------------ .../metadata.json | 116 ++++++++++++ .../nfe1/grid_8x8.png | Bin .../nfe2/grid_8x8.png | Bin .../sha256_manifest.txt | 2 +- 5 files changed, 117 insertions(+), 176 deletions(-) delete mode 100644 results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/metadata.json create mode 100644 results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/metadata.json rename results/official_edm_smoke/{4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da => edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d}/nfe1/grid_8x8.png (100%) rename results/official_edm_smoke/{4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da => edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d}/nfe2/grid_8x8.png (100%) rename results/official_edm_smoke/{4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da => edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d}/sha256_manifest.txt (99%) diff --git a/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/metadata.json b/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/metadata.json deleted file mode 100644 index 5798099c..00000000 --- a/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/metadata.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "checkpoint": "/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl", - "checkpoint_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", - "output_directory": "/mnt/ect_project/evaluations/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", - "evaluation_git_commit": "2e3659051a9985ede8b6dbac2530e28c7253080c", - "seeds": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63 - ], - "seed_list": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63 - ], - "seed_count": 64, - "image_count": 128, - "nfe": [ - 1, - 2 - ], - "mid_t": 0.821, - "modes": [ - { - "name": "nfe1", - "nfe": 1, - "mid_t": null, - "image_count": 64, - "elapsed_seconds": 4.476461 - }, - { - "name": "nfe2", - "nfe": 2, - "mid_t": 0.821, - "image_count": 64, - "elapsed_seconds": 7.324607 - } - ], - "elapsed_seconds": 11.801117, - "generator_implementation": "ct_eval.generator_fn", - "precision_requested": "fp32", - "precision": "fp32", - "gpu": "NVIDIA A100-PCIE-40GB", - "image_format": "32x32 RGB", - "work_group_sizes_verified": [ - 8, - 16 - ], - "forward_batch_size": 1, - "work_group_independent_sha256": true, - "repeat_runs_verified": 2, - "repeat_run_deterministic_sha256": true -} diff --git a/results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/metadata.json b/results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/metadata.json new file mode 100644 index 00000000..9158a752 --- /dev/null +++ b/results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/metadata.json @@ -0,0 +1,116 @@ +{ + "schema_version": "1.0", + "evaluation_git_commit": "521eae939df1fd29e66c6938a80e9831373dc6c2", + "checkpoint_path": "/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl", + "checkpoint_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "checkpoint_id": "edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d", + "output_directory": "/mnt/ect_project/evaluations/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d", + "seed_count": 64, + "seed_list": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "nfe_modes": [ + 1, + 2 + ], + "mid_t_by_mode": { + "nfe1": [], + "nfe2": [ + 0.821 + ] + }, + "precision_requested": "fp32", + "precision": "fp32", + "device": "cuda", + "gpu": "NVIDIA A100-PCIE-40GB", + "elapsed_seconds_total": 11.774366, + "elapsed_seconds_by_mode": { + "nfe1": 4.38635, + "nfe2": 7.387926 + }, + "image_count_total": 128, + "image_count_by_mode": { + "nfe1": 64, + "nfe2": 64 + }, + "generator_implementation": "ct_eval.generator_fn", + "model_forward_batch_size": 1, + "work_group_sizes_verified": [ + 8, + 16 + ], + "image_resolution": [ + 32, + 32 + ], + "image_channels": 3, + "determinism_passed": true, + "repeat_runs_verified": 2, + "verified_modes": [ + "nfe1", + "nfe2" + ] +} diff --git a/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/nfe1/grid_8x8.png b/results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/nfe1/grid_8x8.png similarity index 100% rename from results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/nfe1/grid_8x8.png rename to results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/nfe1/grid_8x8.png diff --git a/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/nfe2/grid_8x8.png b/results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/nfe2/grid_8x8.png similarity index 100% rename from results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/nfe2/grid_8x8.png rename to results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/nfe2/grid_8x8.png diff --git a/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/sha256_manifest.txt b/results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/sha256_manifest.txt similarity index 99% rename from results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/sha256_manifest.txt rename to results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/sha256_manifest.txt index 33455a93..1a4f46ee 100644 --- a/results/official_edm_smoke/4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da/sha256_manifest.txt +++ b/results/official_edm_smoke/edm-cifar10-32x32-uncond-vp-4d5dcc1f1d0d/sha256_manifest.txt @@ -128,4 +128,4 @@ d07f10a3f584092573203db53727c8d2736c807a4d4f804e7f9170b77e321aa9 nfe2/images/se 3549523b482ad856d93198b5ddbe6aec3981440f5cd61097b0c91bce2a2d00b2 nfe2/images/seed000062.png c3857a13658b43faed063120e2ba593c1ead4e5a8b1d37346d74fae5ed9497e8 nfe2/images/seed000063.png 2a1ebcb1f2a587e19332a71e55ca112c1ed3ca6a354eb037cbac5cd8bd14afff nfe2/grid_8x8.png -505f4a0480add60aa2070d4ed2cb86dc2fc035d176ed2ec3d9ab4c46e61a4d28 metadata.json +eeecc69850092a8245a64ebf2e46df23be634e5aeeebfc76e4f858f1b962e643 metadata.json From cb91b4fba52fe50f3b55e00521a3218a1519ecac Mon Sep 17 00:00:00 2001 From: kangw24 <280028295+kangw24@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:25:48 +0800 Subject: [PATCH 15/60] Add paired fixed/adaptive training and evidence infrastructure Add the clean Role B paired-training runner, telemetry, resume identity gates, evidence collector, tests, and A100 smoke artifact. --- .gitignore | 1 + artifacts/role_b/paired_resume_smoke.json | 16 + ct_train.py | 10 +- docs/PAIRED_TRAINING_PROTOCOL.md | 135 +++ results/fixed_baseline_preliminary/README.md | 31 + .../fixed_baseline_preliminary/metadata.json | 33 + .../train_summary.csv | 126 +++ scripts/collect_fixed_baseline_results.py | 12 + scripts/collect_schedule_results.py | 620 ++++++++++++++ scripts/run_fixed_baseline.sh | 6 + scripts/run_schedule_experiment.sh | 454 ++++++++++ tests/test_paired_training_infra.py | 780 ++++++++++++++++++ training/ct_training_loop.py | 198 ++++- 13 files changed, 2409 insertions(+), 13 deletions(-) create mode 100644 artifacts/role_b/paired_resume_smoke.json create mode 100644 docs/PAIRED_TRAINING_PROTOCOL.md create mode 100644 results/fixed_baseline_preliminary/README.md create mode 100644 results/fixed_baseline_preliminary/metadata.json create mode 100644 results/fixed_baseline_preliminary/train_summary.csv create mode 100755 scripts/collect_fixed_baseline_results.py create mode 100755 scripts/collect_schedule_results.py create mode 100755 scripts/run_fixed_baseline.sh create mode 100755 scripts/run_schedule_experiment.sh create mode 100644 tests/test_paired_training_infra.py diff --git a/.gitignore b/.gitignore index f3250f37..02b89428 100644 --- a/.gitignore +++ b/.gitignore @@ -164,6 +164,7 @@ cython_debug/ datasets/ runs/ checkpoints/ +pretrained/ ct-runs/ ct-evals/ wandb/ diff --git a/artifacts/role_b/paired_resume_smoke.json b/artifacts/role_b/paired_resume_smoke.json new file mode 100644 index 00000000..f2fb45ad --- /dev/null +++ b/artifacts/role_b/paired_resume_smoke.json @@ -0,0 +1,16 @@ +{ + "git_head": "c3537af0e78ae489355b288e2f48d24f22d366fe", + "device": "NVIDIA A100-PCIE-40GB", + "fresh_mode": "activation", + "resume_mode": "stability", + "run_dir": "/mnt/ect_project/runs/paired-smoke/sigmoid-activation-c3537af0-20260717T091035Z", + "before_nimg": 4096, + "after_nimg": 16000, + "before_attempted": 32, + "after_attempted": 125, + "csv_continuous": true, + "same_head_all_segments": true, + "collector_pass": true, + "fresh_exit": 0, + "resume_exit": 0 +} diff --git a/ct_train.py b/ct_train.py index 724680d6..89ab6ed1 100644 --- a/ct_train.py +++ b/ct_train.py @@ -190,7 +190,15 @@ def main(**kwargs): if not match or not os.path.isfile(opts.resume): raise click.ClickException('--resume must point to training-state-*.pt from a previous training run') c.resume_pkl = os.path.join(os.path.dirname(opts.resume), f'network-snapshot-{match.group(1)}.pkl') - c.resume_tick = int(match.group(1)) if opts.resume_tick is None else opts.resume_tick + # Prefer explicit --resume-tick; otherwise parse numeric tick from the filename. + # training-state-latest.pt cannot be converted with int(); the training loop + # restores the authoritative cur_tick / cur_nimg from the serialized state. + if opts.resume_tick is not None: + c.resume_tick = opts.resume_tick + elif match.group(1) == 'latest': + c.resume_tick = 0 + else: + c.resume_tick = int(match.group(1)) c.resume_state_dump = opts.resume # Description string. diff --git a/docs/PAIRED_TRAINING_PROTOCOL.md b/docs/PAIRED_TRAINING_PROTOCOL.md new file mode 100644 index 00000000..75eba1f5 --- /dev/null +++ b/docs/PAIRED_TRAINING_PROTOCOL.md @@ -0,0 +1,135 @@ +# Paired Training Protocol (Role B) + +Canonical protocol for fair fixed (`sigmoid`) vs adaptive (`adaptive_v1`) ECT +training comparisons. This supersedes ad-hoc `baseline_protocol.md` notes for +paired-run engineering. + +## Scope + +Role B owns: + +- shared runner / collector +- per-attempted-iteration telemetry +- experiment directory hygiene (no mixed runs) +- reproducible metadata packaging + +Role C owns the `adaptive_v1` schedule implementation. Until that lands on +`main`, `--schedule adaptive_v1` will fail at CLI validation; the runner still +accepts the flag so B/C stay parameter-aligned. + +## Frozen paired knobs + +Except for `--schedule` / `--mapping`, both arms use: + +| Knob | Value | +| --- | --- | +| Dataset | CIFAR-10 32×32 EDM ZIP | +| Teacher | EDM CIFAR-10 uncond VP transfer | +| Cond | False | +| Arch / precond | ddpmpp / ect | +| Optim / lr | RAdam / 1e-4 | +| Batch / batch-gpu | 128 / 16 | +| Dropout / augment | 0.2 / 0 | +| q / k / b / c | 256 / 8 / 1 / 0 | +| double | 10000 | +| ema_beta | 0.9993 | +| seed | 0 | +| Precision | FP16 + GradScaler | +| Metrics | none | + +## Modes + +| Mode | Duration (Mimg) | Attempted iterations @ batch 128 | Intent | +| --- | --- | --- | --- | +| `dry-run` | n/a | n/a | Print resolved params + exact command | +| `activation` | 0.004 | 32 (ends at 4.096 kimg after batch rounding; protocol text “~31” is the pre-rounding estimate) | Verify adaptive controller activates before stability | +| `stability` | 0.016 | 125 | Engineering stability evidence | +| `baseline` | 0.128 | 1000 | Formal paired baseline budget | + +## Runner + +```bash +bash scripts/run_schedule_experiment.sh \ + --mode stability \ + --schedule sigmoid + +bash scripts/run_schedule_experiment.sh \ + --mode stability \ + --schedule adaptive_v1 +``` + +Except for `--schedule` (and Role C adaptive-internal knobs once on `main`), every other frozen knob is identical. + +Default unique outdirs: + +```text +$ECT_RUNS_ROOT/ +├── sigmoid-activation--/ +├── adaptive-v1-activation--/ +├── sigmoid-stability--/ +└── adaptive-v1-stability--/ +``` + +Rules: + +1. Fixed and adaptive share this single runner (`scripts/run_schedule_experiment.sh`). +2. Fresh runs always target a unique empty directory and pass `--transfer` only. +3. Outdir exists and is non-empty → fail immediately (no checkpoint overwrite). +4. Logs use `tee` without `-a` into a fresh `${mode}-${timestamp}.log`. +5. Resume requires explicit `--resume` and must not pass `--transfer`. +6. Resume refuses mixed schedules (meta / dirname arm mismatch) **and** requires the + same clean `git_head` / dataset / transfer SHA as the immutable fresh `run_meta.env`. +7. Progress (`cur_nimg`, next-loop `cur_tick`, counters, `elapsed_sec`) is restored from training-state contents. + +## Telemetry + +`training/ct_training_loop.py` writes `train_summary.csv` with one row per +attempted iteration: + +- `attempted_iteration` +- `successful_optimizer_steps` +- `processed_nimg` / `processed_kimg` +- `loss` +- `grad_scale` +- `step_skipped` +- `schedule` +- `stage` +- `elapsed_sec` +- `peak_vram_gb` + +Counters and exact progress (`cur_nimg`, next-loop `cur_tick`, +`tick_start_nimg`) are stored in `training-state-*.pt` and restored on resume. +Fresh runs refuse to append an existing non-empty CSV; legal resumes append only +after validating the last row against restored counters / `cur_nimg` / schedule. + +Adaptive-only fields (`loss_ema`, `correction`, …) are reserved for Role C. + +## Collector + +```bash +python scripts/collect_schedule_results.py \ + --run-dir /path/to/run \ + --outdir results/fixed_baseline_v1 \ + --mode stability \ + --schedule sigmoid \ + --data "$ECT_DATA_PATH" \ + --transfer "$ECT_TRANSFER_PATH" +``` + +`scripts/collect_fixed_baseline_results.py` remains a compatibility wrapper. + +Automatically records train-time HEAD from `run_meta.env`, packaging-time HEAD, +dirty status, exact command, asset SHA256 digests, and runtime metadata. +Packaging fails closed unless train-time and packaging HEADs match, and unless +`--data` / `--transfer` hashes are present. Manual `--git-commit` is not +accepted. Dirty trees fail closed unless `--allow-dirty` is passed for +preliminary packaging. + +## Evidence classes + +| Path | Class | +| --- | --- | +| `results/fixed_baseline_preliminary/` | Preliminary stability evidence migrated from PR #10 | +| `results/fixed_baseline_v1/` | Formal evidence only after a clean-HEAD re-run | + +Do not treat preliminary evidence as the final fixed-vs-adaptive comparison. diff --git a/results/fixed_baseline_preliminary/README.md b/results/fixed_baseline_preliminary/README.md new file mode 100644 index 00000000..04869e21 --- /dev/null +++ b/results/fixed_baseline_preliminary/README.md @@ -0,0 +1,31 @@ +# Fixed baseline — preliminary stability evidence + +Migrated from PR #10 (`wk/iniBR`) for reference only. + +## Status + +**preliminary stability evidence** — not formal fixed-vs-adaptive comparison +evidence. + +| Property | Value | +| --- | --- | +| Mode | stability | +| Duration | 0.016 Mimg (16 kimg) | +| Attempted optimizer updates | 125 | +| Successful optimizer updates | 116 | +| GradScaler skipped steps | 9 | +| Precision | FP16 + GradScaler | +| Seed / batch | 0 / 128 | +| Recorded git commit in metadata | `93a1ffc` (then-main SHA; instrumentation lived on Role B branch) | + +Re-run from a clean `role-b/paired-training-v1` HEAD before promoting anything +to `results/fixed_baseline_v1/`. + +## Contents + +```text +results/fixed_baseline_preliminary/ +├── README.md +├── train_summary.csv +└── metadata.json +``` diff --git a/results/fixed_baseline_preliminary/metadata.json b/results/fixed_baseline_preliminary/metadata.json new file mode 100644 index 00000000..41a3ab64 --- /dev/null +++ b/results/fixed_baseline_preliminary/metadata.json @@ -0,0 +1,33 @@ +{ + "attempted_iterations": 125, + "batch_gpu": 16, + "duration_mimg": 0.016, + "evidence_class": "preliminary", + "evidence_note": "Migrated from PR #10 / wk/iniBR. Instrumentation lived on Role B branch; re-run from clean role-b/paired-training-v1 HEAD before promoting to formal evidence.", + "exact_command": "python /mnt/recurrence_of_ect/ct_train.py --data=/mnt/ect_project/datasets/cifar10-32x32.zip --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --outdir=/mnt/ect_project/runs/fixed-baseline-v1 --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=sigmoid -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --duration=0.016", + "final_grad_scale": 128.0, + "final_loss": 26.34475136, + "first_loss": 15.97663879, + "git_commit": "93a1ffcdd76f375d82990df8ec71e67ea51fd803", + "global_batch": 128, + "gradscaler_state_saved": true, + "inf_count": 0, + "initial_grad_scale": 65536.0, + "max_loss": 37.43996811, + "metrics_enabled": false, + "min_loss": 15.02455807, + "mode": "stability", + "nan_count": 0, + "network_snapshot": "/mnt/ect_project/runs/fixed-baseline-v1/network-snapshot-latest.pkl", + "optimizer_updates": 125, + "peak_vram_mib": 5918.155776, + "peak_vram_source": "torch.cuda.max_memory_allocated", + "processed_kimg": 16.0, + "schedule": "sigmoid", + "seed": 0, + "skipped_steps": 9, + "successful_optimizer_steps": 116, + "successful_optimizer_updates": 116, + "training_state": "/mnt/ect_project/runs/fixed-baseline-v1/training-state-latest.pt", + "wall_time_seconds": 117.87 +} diff --git a/results/fixed_baseline_preliminary/train_summary.csv b/results/fixed_baseline_preliminary/train_summary.csv new file mode 100644 index 00000000..c8dcb0d0 --- /dev/null +++ b/results/fixed_baseline_preliminary/train_summary.csv @@ -0,0 +1,126 @@ +update,kimg,loss,grad_scale,step_skipped,seconds,peak_vram_mib +1,0.128000,15.97663879,65536,true,8.631789,5918.155776 +2,0.256000,15.02455807,32768,true,9.863258,2141.825024 +3,0.384000,16.38218498,16384,true,10.570045,2141.825024 +4,0.512000,17.54660606,8192,true,11.285077,2141.825024 +5,0.640000,15.65527916,4096,true,11.996894,2141.825024 +6,0.768000,16.49589157,2048,true,12.713955,2141.825024 +7,0.896000,17.07062531,1024,true,13.437398,2141.825024 +8,1.024000,17.72678757,512,true,14.148274,2141.825024 +9,1.152000,15.91043949,256,false,14.930087,2141.825024 +10,1.280000,16.54581451,256,false,15.656545,2570.203136 +11,1.408000,30.65740013,256,true,16.369827,2570.203136 +12,1.536000,27.73904228,128,false,17.090731,2570.203136 +13,1.664000,31.39515305,128,false,17.805176,2570.203136 +14,1.792000,33.60535431,128,false,18.530009,2570.203136 +15,1.920000,34.32526398,128,false,19.251053,2570.203136 +16,2.048000,37.43996811,128,false,19.971074,2570.203136 +17,2.176000,29.94143677,128,false,20.687601,2570.203136 +18,2.304000,29.29212952,128,false,21.410220,2570.203136 +19,2.432000,32.82629395,128,false,22.121314,2570.203136 +20,2.560000,31.93735695,128,false,22.834531,2570.203136 +21,2.688000,31.07918739,128,false,23.547337,2570.203136 +22,2.816000,35.37376404,128,false,24.267232,2570.203136 +23,2.944000,33.36061096,128,false,24.983905,2570.203136 +24,3.072000,31.76605225,128,false,25.699690,2570.203136 +25,3.200000,29.77571487,128,false,26.424841,2570.203136 +26,3.328000,29.64580536,128,false,27.140885,2570.203136 +27,3.456000,31.86913300,128,false,27.859995,2570.203136 +28,3.584000,34.03108978,128,false,28.579197,2570.203136 +29,3.712000,29.72347450,128,false,29.334688,2570.203136 +30,3.840000,32.04776001,128,false,30.090426,2570.203136 +31,3.968000,29.83702278,128,false,30.813002,2570.203136 +32,4.096000,31.43259811,128,false,31.534051,2570.203136 +33,4.224000,32.86679077,128,false,32.262252,2570.203136 +34,4.352000,32.32881546,128,false,32.983064,2570.203136 +35,4.480000,31.37874413,128,false,33.708292,2570.203136 +36,4.608000,31.15612984,128,false,34.439189,2570.203136 +37,4.736000,29.53305435,128,false,35.155301,2570.203136 +38,4.864000,30.17369080,128,false,35.879978,2570.203136 +39,4.992000,30.41657257,128,false,36.604645,2570.203136 +40,5.120000,28.39312744,128,false,37.384500,2570.203136 +41,5.248000,35.21541595,128,false,38.113355,2570.203136 +42,5.376000,32.13874817,128,false,38.849463,2570.203136 +43,5.504000,31.53693390,128,false,39.573488,2570.203136 +44,5.632000,31.20793533,128,false,40.300162,2570.203136 +45,5.760000,32.72998810,128,false,41.021766,2570.203136 +46,5.888000,27.27248573,128,false,41.743218,2570.203136 +47,6.016000,29.25093079,128,false,42.477972,2570.203136 +48,6.144000,30.01542664,128,false,43.200986,2570.203136 +49,6.272000,28.79453659,128,false,43.942031,2570.203136 +50,6.400000,32.34014893,128,false,44.658313,2570.203136 +51,6.528000,28.71923828,128,false,45.388946,2570.203136 +52,6.656000,32.15507507,128,false,46.120254,2570.203136 +53,6.784000,32.45943832,128,false,46.850030,2570.203136 +54,6.912000,30.96995926,128,false,47.592658,2570.203136 +55,7.040000,30.71553040,128,false,48.323829,2570.203136 +56,7.168000,32.43819427,128,false,49.053313,2570.203136 +57,7.296000,31.05434608,128,false,49.790246,2570.203136 +58,7.424000,26.82646179,128,false,50.555560,2570.203136 +59,7.552000,26.10136414,128,false,51.322035,2570.203136 +60,7.680000,29.67824554,128,false,52.059186,2570.203136 +61,7.808000,30.28600883,128,false,52.789581,2570.203136 +62,7.936000,30.91587830,128,false,53.526519,2570.203136 +63,8.064000,28.97945595,128,false,54.268384,2570.203136 +64,8.192000,31.68129349,128,false,54.999676,2570.203136 +65,8.320000,28.66585159,128,false,55.733164,2570.203136 +66,8.448000,28.65645218,128,false,56.462597,2570.203136 +67,8.576000,28.59440804,128,false,57.188774,2570.203136 +68,8.704000,26.89576721,128,false,57.920419,2570.203136 +69,8.832000,28.53584862,128,false,58.644525,2570.203136 +70,8.960000,30.18574524,128,false,59.375049,2570.203136 +71,9.088000,26.39382362,128,false,60.106735,2570.203136 +72,9.216000,31.73194122,128,false,60.828673,2570.203136 +73,9.344000,25.93029594,128,false,61.572621,2570.203136 +74,9.472000,28.96280670,128,false,62.298592,2570.203136 +75,9.600000,31.90180588,128,false,63.029736,2570.203136 +76,9.728000,29.70761681,128,false,63.765772,2570.203136 +77,9.856000,31.94122314,128,false,64.488986,2570.203136 +78,9.984000,31.90935707,128,false,65.216682,2570.203136 +79,10.112000,31.05408287,128,false,65.947376,2570.203136 +80,10.240000,28.64883423,128,false,66.672530,2570.203136 +81,10.368000,31.24681091,128,false,67.403325,2570.203136 +82,10.496000,28.37053680,128,false,68.125035,2570.203136 +83,10.624000,29.24021149,128,false,68.851481,2570.203136 +84,10.752000,29.84640121,128,false,69.579950,2570.203136 +85,10.880000,28.61990356,128,false,70.307972,2570.203136 +86,11.008000,32.91775513,128,false,71.032802,2570.203136 +87,11.136000,29.44733047,128,false,71.753526,2570.203136 +88,11.264000,29.88570023,128,false,72.484518,2570.203136 +89,11.392000,30.27711487,128,false,73.203055,2570.203136 +90,11.520000,30.01863289,128,false,73.920227,2570.203136 +91,11.648000,27.33654404,128,false,74.635346,2570.203136 +92,11.776000,27.59097481,128,false,75.356827,2570.203136 +93,11.904000,29.94876862,128,false,76.079834,2570.203136 +94,12.032000,27.24915314,128,false,76.789529,2570.203136 +95,12.160000,28.13440514,128,false,77.511163,2570.203136 +96,12.288000,27.95068932,128,false,78.226321,2570.203136 +97,12.416000,24.81452942,128,false,78.935749,2570.203136 +98,12.544000,28.66461945,128,false,79.651289,2570.203136 +99,12.672000,30.32545471,128,false,80.373562,2570.203136 +100,12.800000,30.11379242,128,false,81.091870,2570.203136 +101,12.928000,26.90580940,128,false,81.806287,2570.203136 +102,13.056000,30.87305069,128,false,82.520044,2570.203136 +103,13.184000,28.10569382,128,false,83.242273,2570.203136 +104,13.312000,26.72591209,128,false,83.966221,2570.203136 +105,13.440000,26.84828186,128,false,84.681072,2570.203136 +106,13.568000,28.37910080,128,false,85.399850,2570.203136 +107,13.696000,29.50794220,128,false,86.121153,2570.203136 +108,13.824000,29.53137589,128,false,86.884083,2570.203136 +109,13.952000,29.22442055,128,false,87.677732,2570.203136 +110,14.080000,27.51322746,128,false,88.496920,2570.203136 +111,14.208000,29.85905838,128,false,89.309835,2570.203136 +112,14.336000,25.10919952,128,false,90.068307,2570.203136 +113,14.464000,29.42556763,128,false,90.780045,2570.203136 +114,14.592000,28.95244026,128,false,91.513456,2570.203136 +115,14.720000,28.38478851,128,false,92.229963,2570.203136 +116,14.848000,24.78182793,128,false,92.945215,2570.203136 +117,14.976000,26.79061127,128,false,93.671907,2570.203136 +118,15.104000,27.78947067,128,false,94.417877,2570.203136 +119,15.232000,25.80303574,128,false,95.170193,2570.203136 +120,15.360000,25.15182304,128,false,95.918842,2570.203136 +121,15.488000,25.66778946,128,false,96.698933,2570.203136 +122,15.616000,26.48645401,128,false,97.406205,2570.203136 +123,15.744000,27.67897606,128,false,98.152923,2570.203136 +124,15.872000,26.68359184,128,false,98.861336,2570.203136 +125,16.000000,26.34475136,128,false,99.569402,2570.203136 diff --git a/scripts/collect_fixed_baseline_results.py b/scripts/collect_fixed_baseline_results.py new file mode 100755 index 00000000..a9116042 --- /dev/null +++ b/scripts/collect_fixed_baseline_results.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 +"""Compatibility wrapper. Prefer scripts/collect_schedule_results.py.""" + +from __future__ import annotations + +import runpy +from pathlib import Path + + +if __name__ == "__main__": + target = Path(__file__).resolve().with_name("collect_schedule_results.py") + runpy.run_path(str(target), run_name="__main__") diff --git a/scripts/collect_schedule_results.py b/scripts/collect_schedule_results.py new file mode 100755 index 00000000..b14ffa71 --- /dev/null +++ b/scripts/collect_schedule_results.py @@ -0,0 +1,620 @@ +#!/usr/bin/env python3 +"""Validate a paired-schedule run and package compact results for the repo. + +Fails closed if train_summary.csv is missing, loss has NaN/Inf, checkpoints are +unreadable, gradscaler_state is absent, train-time git metadata disagrees with +the packaging HEAD, or CLI schedule/mode/duration disagree with the CSV / command. +""" + +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +import math +import pickle +import platform +import re +import shlex +import subprocess +import sys +from pathlib import Path + + +OUTPUT_FIELDS = ( + "attempted_iteration", + "successful_optimizer_steps", + "processed_kimg", + "loss", + "grad_scale", + "step_skipped", + "schedule", + "stage", + "seconds", + "peak_vram_mib", +) + +MODE_DURATION_MIMG = { + "activation": 0.004, + "stability": 0.016, + "baseline": 0.128, +} + + +def expected_final_nimg(duration_mimg: float, global_batch: int) -> int: + """Match ct_train/ct_training_loop discrete batch completion. + + total_kimg = max(int(duration_mimg * 1000), 1) + training stops once cur_nimg >= total_kimg * 1000 after a full batch. + """ + if global_batch <= 0: + fail(f"global_batch must be positive, got {global_batch}") + target_kimg = max(int(duration_mimg * 1000), 1) + target_nimg = target_kimg * 1000 + return math.ceil(target_nimg / global_batch) * global_batch + + +def fail(message: str) -> None: + raise SystemExit(f"[collect_schedule_results] ERROR: {message}") + + +def run_git(repo_root: Path, *args: str) -> str: + try: + completed = subprocess.run( + ["git", *args], + cwd=repo_root, + check=True, + capture_output=True, + text=True, + ) + except (OSError, subprocess.CalledProcessError) as exc: + fail(f"git {' '.join(args)} failed: {exc}") + return completed.stdout.strip() + + +def collect_packaging_git_metadata(repo_root: Path) -> dict: + head = run_git(repo_root, "rev-parse", "HEAD") + branch = run_git(repo_root, "rev-parse", "--abbrev-ref", "HEAD") + porcelain = run_git(repo_root, "status", "--porcelain") + return { + "packaging_git_commit": head, + "packaging_git_branch": branch, + "packaging_git_dirty": bool(porcelain), + } + + +def parse_run_meta(path: Path) -> dict[str, str]: + if not path.is_file(): + fail(f"run_meta.env missing: {path}") + meta: dict[str, str] = {} + for line in path.read_text(encoding="utf-8", errors="replace").splitlines(): + if not line or "=" not in line: + continue + key, value = line.split("=", 1) + meta[key] = value + return meta + + +def load_identity_and_command_meta(run_dir: Path, mode: str) -> tuple[dict[str, str], dict[str, str]]: + """Split immutable train identity from the packaging-mode command meta. + + run_meta.env is written once on the fresh segment and must not be overwritten. + Resume segments write run_meta..env / run_meta.latest.env. + """ + identity_path = run_dir / "run_meta.env" + identity = parse_run_meta(identity_path) + command_candidates = [ + run_dir / f"run_meta.{mode}.env", + run_dir / "run_meta.latest.env", + identity_path, + ] + command_meta = None + for path in command_candidates: + if path.is_file(): + command_meta = parse_run_meta(path) + break + if command_meta is None: + fail(f"no run_meta sidecar found under {run_dir}") + return identity, command_meta + + +def sha256_file(path: Path | None) -> str | None: + if path is None or not path.is_file(): + return None + digest = hashlib.sha256() + with path.open("rb") as handle: + while True: + chunk = handle.read(1024 * 1024) + if not chunk: + break + digest.update(chunk) + return digest.hexdigest() + + +def parse_boolish(value: str) -> bool: + return str(value).strip().lower() in {"1", "true", "yes"} + + +def load_rows(path: Path) -> list[dict]: + if not path.is_file() or path.stat().st_size == 0: + fail(f"train_summary.csv missing or empty: {path}") + with path.open(newline="", encoding="utf-8") as handle: + reader = csv.DictReader(handle) + fieldnames = set(reader.fieldnames or []) + rows = list(reader) + if not rows: + fail(f"train_summary.csv has no data rows: {path}") + required = { + "attempted_iteration", + "successful_optimizer_steps", + "processed_nimg", + "loss", + "grad_scale", + "step_skipped", + "elapsed_sec", + "peak_vram_gb", + "schedule", + } + if "processed_nimg" not in fieldnames and "nimg" in fieldnames: + fieldnames.add("processed_nimg") + for row in rows: + row["processed_nimg"] = row["nimg"] + if "attempted_iteration" not in fieldnames and "update" in fieldnames: + fieldnames.add("attempted_iteration") + for row in rows: + row["attempted_iteration"] = row["update"] + if "successful_optimizer_steps" not in fieldnames: + fieldnames.add("successful_optimizer_steps") + skipped_so_far = 0 + for idx, row in enumerate(rows, start=1): + if parse_boolish(row.get("step_skipped", "0")): + skipped_so_far += 1 + row["successful_optimizer_steps"] = str(idx - skipped_so_far) + if "peak_vram_gb" not in fieldnames and "peak_gpu_mem_gb" in fieldnames: + fieldnames.add("peak_vram_gb") + for row in rows: + row["peak_vram_gb"] = row["peak_gpu_mem_gb"] + if "schedule" not in fieldnames: + fieldnames.add("schedule") + for row in rows: + row.setdefault("schedule", "") + missing = required - fieldnames + if missing: + fail(f"train_summary.csv missing columns: {sorted(missing)}") + return rows + + +def choose_snapshot(run_dir: Path) -> Path: + latest = run_dir / "network-snapshot-latest.pkl" + if latest.is_file() and latest.stat().st_size > 0: + return latest + numbered = sorted(run_dir.glob("network-snapshot-[0-9][0-9][0-9][0-9][0-9][0-9].pkl")) + numbered = [path for path in numbered if path.stat().st_size > 0] + if not numbered: + fail(f"no non-empty network-snapshot under {run_dir}") + return numbered[-1] + + +def load_snapshot(snapshot: Path, repo_root: Path) -> None: + root = str(repo_root.resolve()) + if root not in sys.path: + sys.path.insert(0, root) + with snapshot.open("rb") as handle: + pickle.load(handle) + + +def choose_training_state(run_dir: Path) -> Path: + latest = run_dir / "training-state-latest.pt" + if latest.is_file() and latest.stat().st_size > 0: + return latest + numbered = sorted(run_dir.glob("training-state-[0-9][0-9][0-9][0-9][0-9][0-9].pt")) + numbered = [path for path in numbered if path.stat().st_size > 0] + if not numbered: + fail(f"no non-empty training-state under {run_dir}") + return numbered[-1] + + +def extract_exact_command(run_meta: dict[str, str], log_path: Path | None, exact_command_file: Path | None) -> str: + if exact_command_file is not None and exact_command_file.is_file(): + for line in exact_command_file.read_text(encoding="utf-8", errors="replace").splitlines(): + if line.startswith("exact_command="): + text = line[len("exact_command=") :].strip() + if text: + return text + if "exact_command" in run_meta and run_meta["exact_command"].strip(): + return run_meta["exact_command"].strip() + if log_path is not None and log_path.is_file(): + for line in log_path.read_text(encoding="utf-8", errors="replace").splitlines(): + if line.startswith("exact_command="): + text = line[len("exact_command=") :].strip() + if text: + return text + fail("exact_command not found in run_meta.env / log / --exact-command-file") + + +def extract_mapping_from_command(exact_command: str) -> str | None: + try: + tokens = shlex.split(exact_command) + except ValueError: + tokens = exact_command.split() + for token in tokens: + if token.startswith("--mapping="): + return token.split("=", 1)[1] + if token.startswith("--schedule="): + return token.split("=", 1)[1] + return None + + +def extract_duration_from_command(exact_command: str) -> float | None: + try: + tokens = shlex.split(exact_command) + except ValueError: + tokens = exact_command.split() + for token in tokens: + if token.startswith("--duration="): + return float(token.split("=", 1)[1]) + return None + + +def collect_runtime_metadata(run_meta: dict[str, str]) -> dict: + meta = { + "python_version": run_meta.get("python_version") or sys.version.split()[0], + "platform": run_meta.get("platform") or platform.platform(), + } + if "torch_version" in run_meta: + meta["torch_version"] = run_meta.get("torch_version") + meta["cuda_version"] = run_meta.get("cuda_version") + meta["gpu_name"] = run_meta.get("gpu_name") or None + meta["gpu_count"] = int(run_meta["gpu_count"]) if run_meta.get("gpu_count") else 0 + return meta + try: + import torch + + meta["torch_version"] = torch.__version__ + meta["cuda_version"] = getattr(torch.version, "cuda", None) + if torch.cuda.is_available(): + meta["gpu_name"] = torch.cuda.get_device_name(0) + meta["gpu_count"] = torch.cuda.device_count() + else: + meta["gpu_name"] = None + meta["gpu_count"] = 0 + except Exception as exc: # noqa: BLE001 + meta["torch_import_error"] = str(exc) + return meta + + +def main(argv: list[str] | None = None) -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--run-dir", type=Path, required=True) + parser.add_argument("--outdir", type=Path, required=True) + parser.add_argument("--log", type=Path) + parser.add_argument("--wall-time", type=Path) + parser.add_argument("--exact-command-file", type=Path) + parser.add_argument("--data", type=Path, required=True, help="Dataset zip for SHA256 metadata") + parser.add_argument("--transfer", type=Path, required=True, help="EDM transfer pickle for SHA256 metadata") + parser.add_argument("--mode", required=True, choices=sorted(MODE_DURATION_MIMG)) + parser.add_argument("--schedule", required=True, choices=("sigmoid", "adaptive_v1", "const")) + parser.add_argument("--duration-mimg", type=float) + parser.add_argument("--seed", type=int, default=0) + parser.add_argument("--global-batch", type=int, default=128) + parser.add_argument("--batch-gpu", type=int, default=16) + parser.add_argument( + "--allow-dirty", + action="store_true", + help="Permit packaging when the packaging worktree is dirty (not for formal evidence)", + ) + parser.add_argument( + "--overwrite", + action="store_true", + help="Allow writing into a non-empty --outdir (default: fail closed)", + ) + parser.add_argument( + "--skip-snapshot-load", + action="store_true", + help="Skip pickle.load of network snapshot (tests only)", + ) + parser.add_argument( + "--skip-training-state-load", + action="store_true", + help="Skip torch.load of training-state (tests only)", + ) + args = parser.parse_args(argv) + + expected_duration = MODE_DURATION_MIMG[args.mode] + if args.duration_mimg is None: + args.duration_mimg = expected_duration + elif not math.isclose(args.duration_mimg, expected_duration, rel_tol=0.0, abs_tol=1e-12): + fail( + f"--duration-mimg={args.duration_mimg} disagrees with mode={args.mode} " + f"(expected {expected_duration})" + ) + + run_dir = args.run_dir.resolve() + if not run_dir.is_dir(): + fail(f"run dir does not exist: {run_dir}") + + repo_root = Path(__file__).resolve().parents[1] + packaging_git = collect_packaging_git_metadata(repo_root) + if packaging_git["packaging_git_dirty"] and not args.allow_dirty: + fail("git worktree is dirty; commit/stash first or pass --allow-dirty for preliminary packaging") + + run_meta, command_meta = load_identity_and_command_meta(run_dir, args.mode) + train_git_head = run_meta.get("git_head") + if not train_git_head or train_git_head == "unknown": + fail("run_meta.env missing git_head from training time") + if train_git_head != packaging_git["packaging_git_commit"]: + fail( + f"train-time git_head={train_git_head} != packaging HEAD=" + f"{packaging_git['packaging_git_commit']}" + ) + train_git_dirty = parse_boolish(run_meta.get("git_dirty", "false")) + if train_git_dirty and not args.allow_dirty: + fail("run_meta.env records git_dirty=true; refuse formal packaging without --allow-dirty") + + # Dual provenance: every resume segment meta must agree with the immutable fresh identity. + cmd_git_head = command_meta.get("git_head") + if not cmd_git_head or cmd_git_head == "unknown": + fail("command meta missing git_head") + if cmd_git_head != train_git_head: + fail( + f"resume/command git_head={cmd_git_head} != fresh git_head={train_git_head}" + ) + cmd_git_dirty = parse_boolish(command_meta.get("git_dirty", "true")) + if cmd_git_dirty and not args.allow_dirty: + fail("command meta records git_dirty=true; refuse formal packaging without --allow-dirty") + cmd_data_sha = command_meta.get("data_sha256") + cmd_transfer_sha = command_meta.get("transfer_sha256") + fresh_data_sha = run_meta.get("data_sha256") + fresh_transfer_sha = run_meta.get("transfer_sha256") + if not fresh_data_sha or fresh_data_sha in {"missing", "unknown"}: + fail("run_meta.env missing training-time data_sha256") + if not fresh_transfer_sha or fresh_transfer_sha in {"missing", "unknown"}: + fail("run_meta.env missing training-time transfer_sha256") + if not cmd_data_sha or cmd_data_sha in {"missing", "unknown"}: + fail("command meta missing data_sha256") + if not cmd_transfer_sha or cmd_transfer_sha in {"missing", "unknown"}: + fail("command meta missing transfer_sha256") + if cmd_data_sha != fresh_data_sha: + fail( + f"command data_sha256={cmd_data_sha} != fresh data_sha256={fresh_data_sha}" + ) + if cmd_transfer_sha != fresh_transfer_sha: + fail( + f"command transfer_sha256={cmd_transfer_sha} != fresh " + f"transfer_sha256={fresh_transfer_sha}" + ) + + source_csv = run_dir / "train_summary.csv" + rows = load_rows(source_csv) + + schedules = {str(row.get("schedule", "")).strip() for row in rows} + if len(schedules) != 1: + fail(f"train_summary.csv schedule not unique: {sorted(schedules)}") + csv_schedule = next(iter(schedules)) + if csv_schedule != args.schedule: + fail(f"CSV schedule={csv_schedule!r} != --schedule={args.schedule!r}") + + exact_command = extract_exact_command(command_meta, args.log, args.exact_command_file) + cmd_schedule = extract_mapping_from_command(exact_command) + if cmd_schedule is None: + fail("exact_command missing --mapping=/--schedule=") + if cmd_schedule != args.schedule: + fail(f"exact_command schedule={cmd_schedule!r} != --schedule={args.schedule!r}") + cmd_duration = extract_duration_from_command(exact_command) + if cmd_duration is None: + fail("exact_command missing --duration=") + if not math.isclose(cmd_duration, args.duration_mimg, rel_tol=0.0, abs_tol=1e-12): + fail(f"exact_command duration={cmd_duration} != expected {args.duration_mimg}") + + losses: list[float] = [] + grad_scales: list[float] = [] + skipped = 0 + packaged: list[dict] = [] + nan_count = 0 + inf_count = 0 + + for row in rows: + loss = float(row["loss"]) + if math.isnan(loss): + nan_count += 1 + if math.isinf(loss): + inf_count += 1 + step_skipped = parse_boolish(row["step_skipped"]) + if step_skipped: + skipped += 1 + nimg = float(row["processed_nimg"]) + peak_gb = float(row["peak_vram_gb"]) + grad_scale = float(row["grad_scale"]) + losses.append(loss) + grad_scales.append(grad_scale) + packaged.append( + { + "attempted_iteration": int(float(row["attempted_iteration"])), + "successful_optimizer_steps": int(float(row["successful_optimizer_steps"])), + "processed_kimg": nimg / 1000.0, + "loss": loss, + "grad_scale": grad_scale, + "step_skipped": "true" if step_skipped else "false", + "schedule": row.get("schedule", args.schedule), + "stage": row.get("stage", ""), + "seconds": float(row["elapsed_sec"]), + "peak_vram_mib": peak_gb * 1024.0, + } + ) + + attempted = len(packaged) + successful = attempted - skipped + last_attempted = packaged[-1]["attempted_iteration"] + last_successful = packaged[-1]["successful_optimizer_steps"] + if last_attempted != attempted: + fail(f"attempted_iteration mismatch: csv_last={last_attempted} row_count={attempted}") + if last_successful != successful: + fail( + f"successful_optimizer_steps mismatch: csv_last={last_successful} " + f"derived={successful}" + ) + if successful + skipped != attempted: + fail( + f"update identity failed: successful({successful}) + skipped({skipped}) " + f"!= attempted({attempted})" + ) + if nan_count or inf_count: + fail(f"non-finite losses: nan_count={nan_count} inf_count={inf_count}") + + final_kimg = packaged[-1]["processed_kimg"] + expected_nimg = expected_final_nimg(args.duration_mimg, args.global_batch) + expected_kimg = expected_nimg / 1000.0 + if not math.isclose(final_kimg, expected_kimg, rel_tol=0.0, abs_tol=1e-6): + fail( + f"final processed_kimg={final_kimg} != expected {expected_kimg} " + f"(duration_mimg={args.duration_mimg}, batch={args.global_batch}, " + f"expected_nimg={expected_nimg}) for mode={args.mode}" + ) + + if args.log is not None and args.log.is_file(): + hits = [ + line + for line in args.log.read_text(encoding="utf-8", errors="replace").splitlines() + if re.search(r"nan|inf", line, flags=re.IGNORECASE) + ] + print(f"[collect_schedule_results] log nan|inf grep hits: {len(hits)}") + + snapshot = choose_snapshot(run_dir) + if not args.skip_snapshot_load: + load_snapshot(snapshot, repo_root) + print(f"[collect_schedule_results] loaded snapshot: {snapshot}") + + training_state = choose_training_state(run_dir) + if not args.skip_training_state_load: + import torch + + state = torch.load(training_state, map_location="cpu") + if not isinstance(state, dict): + fail(f"training-state is not a dict: {training_state}") + if "gradscaler_state" not in state: + fail(f"gradscaler_state missing in {training_state}") + gradscaler_state = state["gradscaler_state"] + if gradscaler_state is None or gradscaler_state == {}: + fail(f"gradscaler_state empty in {training_state}") + for key in ("cur_nimg", "cur_tick", "attempted_iteration", "successful_optimizer_steps", "elapsed_sec"): + if key not in state: + fail(f"{key} missing in {training_state}") + print(f"[collect_schedule_results] loaded training-state: {training_state}") + + wall_time = None + if args.wall_time is not None and args.wall_time.is_file(): + wall_text = args.wall_time.read_text(encoding="utf-8").strip() + if wall_text: + wall_time = float(wall_text.splitlines()[-1]) + if wall_time is None: + wall_time = float(packaged[-1]["seconds"]) + + dataset_sha = sha256_file(args.data) + transfer_sha = sha256_file(args.transfer) + if not dataset_sha: + fail(f"dataset SHA256 unavailable: {args.data}") + if not transfer_sha: + fail(f"transfer SHA256 unavailable: {args.transfer}") + train_data_sha = run_meta.get("data_sha256") + train_transfer_sha = run_meta.get("transfer_sha256") + if dataset_sha != train_data_sha: + fail( + f"dataset SHA mismatch: packaging={dataset_sha} " + f"train-time={train_data_sha}" + ) + if transfer_sha != train_transfer_sha: + fail( + f"transfer SHA mismatch: packaging={transfer_sha} " + f"train-time={train_transfer_sha}" + ) + + runtime = collect_runtime_metadata(command_meta) + evidence_class = ( + "preliminary" + if packaging_git["packaging_git_dirty"] or train_git_dirty or args.allow_dirty + else "formal_candidate" + ) + + metadata = { + "git_commit": train_git_head, + "git_branch": run_meta.get("git_branch"), + "git_dirty": train_git_dirty, + **packaging_git, + "exact_command": exact_command, + "seed": args.seed, + "global_batch": args.global_batch, + "batch_gpu": args.batch_gpu, + "processed_kimg": packaged[-1]["processed_kimg"], + "attempted_iterations": attempted, + "successful_optimizer_steps": successful, + "skipped_steps": skipped, + "first_loss": losses[0], + "final_loss": losses[-1], + "min_loss": min(losses), + "max_loss": max(losses), + "nan_count": nan_count, + "inf_count": inf_count, + "initial_grad_scale": grad_scales[0], + "final_grad_scale": grad_scales[-1], + "wall_time_seconds": wall_time, + "peak_vram_mib": max(row["peak_vram_mib"] for row in packaged), + "peak_vram_source": "torch.cuda.max_memory_allocated", + "network_snapshot": str(snapshot), + "training_state": str(training_state), + "network_snapshot_sha256": sha256_file(snapshot), + "training_state_sha256": sha256_file(training_state), + "dataset_sha256": dataset_sha, + "transfer_sha256": transfer_sha, + "gradscaler_state_saved": True, + "metrics_enabled": False, + "mode": args.mode, + "schedule": args.schedule, + "duration_mimg": args.duration_mimg, + "evidence_class": evidence_class, + **runtime, + } + + outdir = args.outdir + if outdir.exists() and any(outdir.iterdir()) and not args.overwrite: + fail(f"outdir is not empty: {outdir}; pass --overwrite to replace packaged evidence") + outdir.mkdir(parents=True, exist_ok=True) + summary_path = outdir / "train_summary.csv" + with summary_path.open("w", newline="", encoding="utf-8") as handle: + writer = csv.DictWriter(handle, fieldnames=OUTPUT_FIELDS) + writer.writeheader() + for row in packaged: + writer.writerow( + { + "attempted_iteration": row["attempted_iteration"], + "successful_optimizer_steps": row["successful_optimizer_steps"], + "processed_kimg": f"{row['processed_kimg']:.6f}", + "loss": f"{row['loss']:.8f}", + "grad_scale": f"{row['grad_scale']:.8g}", + "step_skipped": row["step_skipped"], + "schedule": row["schedule"], + "stage": row["stage"], + "seconds": f"{row['seconds']:.6f}", + "peak_vram_mib": f"{row['peak_vram_mib']:.6f}", + } + ) + + metadata_path = outdir / "metadata.json" + metadata_path.write_text(json.dumps(metadata, indent=2, sort_keys=True) + "\n", encoding="utf-8") + + print(json.dumps(metadata, indent=2, sort_keys=True)) + print(f"[collect_schedule_results] wrote {summary_path}") + print(f"[collect_schedule_results] wrote {metadata_path}") + print( + f"[collect_schedule_results] PASS attempted={attempted} " + f"successful={successful} skipped={skipped}" + ) + + +if __name__ == "__main__": + try: + main() + except Exception as exc: # noqa: BLE001 - surface collector failures clearly + if isinstance(exc, SystemExit): + raise + fail(str(exc)) diff --git a/scripts/run_fixed_baseline.sh b/scripts/run_fixed_baseline.sh new file mode 100755 index 00000000..c7b9d0d9 --- /dev/null +++ b/scripts/run_fixed_baseline.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Compatibility wrapper for legacy fixed-only entrypoint. +# Prefer the paired owner: scripts/run_schedule_experiment.sh +set -euo pipefail +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +exec bash "${ROOT_DIR}/scripts/run_schedule_experiment.sh" --schedule sigmoid "$@" diff --git a/scripts/run_schedule_experiment.sh b/scripts/run_schedule_experiment.sh new file mode 100755 index 00000000..bc6816a3 --- /dev/null +++ b/scripts/run_schedule_experiment.sh @@ -0,0 +1,454 @@ +#!/usr/bin/env bash + +# Paired experiment runner (Role B) — owner of fixed/adaptive comparison infra. +# Same frozen hyperparameters for both schedules; only --schedule (and Role C +# adaptive-internal knobs once available) may differ. +# +# Duration (Mimg) → total_kimg = int(duration * 1000); discrete batch completion +# activation 0.004 → 4 kimg target → 32 attempted iterations @ batch 128 (4096 images) +# stability 0.016 → 16 kimg → 125 attempted iterations @ batch 128 +# baseline 0.128 → 128 kimg → 1000 attempted iterations @ batch 128 +# +# Fresh runs always use a unique empty directory and pass --transfer only. +# Resume requires --resume, reuses that run directory, and must NOT pass --transfer. +# Fixed and adaptive never share an output directory. + +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +ENV_NAME="${ECT_ENV_NAME:-ect}" + +MODE="" +SCHEDULE="" +RESUME="" +OUTDIR_OVERRIDE="" + +usage() { + cat <<'EOF' +Usage: + bash scripts/run_schedule_experiment.sh \ + --schedule {sigmoid|adaptive_v1} \ + --mode {dry-run|activation|stability|baseline} \ + [--outdir DIR] \ + [--resume PATH_TO_training-state.pt] + + dry-run Print resolved params and exact command; exit without training. + activation Train with --duration=0.004 (32 attempted iterations @ batch 128). + stability Train with --duration=0.016 (125 attempted iterations @ batch 128). + baseline Train with --duration=0.128 (1000 attempted iterations @ batch 128). + +Fresh runs: + - Pass --transfer only (never --resume) + - Default outdir: + $ECT_RUNS_ROOT/---/ + e.g. sigmoid-stability-ad05dc47-20260717T084500Z/ + - If --outdir is set, it must be empty (or not exist); otherwise the run fails. + - Never appends to old logs; never reuses a non-empty directory. + +Resume: + - Pass --resume only (never --transfer) + - Requires --resume pointing at training-state-*.pt + - Uses the parent directory of that file as the run directory + - Refuses if run_meta schedule disagrees with --schedule (no mixed arms) +EOF +} + +fail() { + printf '[run_schedule_experiment] ERROR: %s\n' "$*" >&2 + exit 1 +} + +run_in_env() { + if [[ "${CONDA_DEFAULT_ENV:-}" == "${ENV_NAME}" ]]; then + "$@" + elif command -v conda >/dev/null 2>&1; then + conda run --no-capture-output -n "${ENV_NAME}" "$@" + elif command -v mamba >/dev/null 2>&1; then + mamba run --no-capture-output -n "${ENV_NAME}" "$@" + else + fail "activate '${ENV_NAME}' or install conda/mamba first" + fi +} + +dir_is_empty() { + local dir="$1" + [[ -d "$dir" ]] || return 0 + [[ -z "$(ls -A "$dir" 2>/dev/null)" ]] +} + +sha256_file() { + local path="$1" + if [[ -f "$path" ]]; then + sha256sum "$path" | awk '{print $1}' + else + printf 'missing' + fi +} + +schedule_slug() { + case "$1" in + adaptive_v1) printf 'adaptive-v1' ;; + *) printf '%s' "$1" ;; + esac +} + +short_git_sha() { + ( + cd "${ROOT_DIR}" + git rev-parse --short=8 HEAD 2>/dev/null || printf 'unknown' + ) +} + +read_meta_value() { + local file="$1" + local key="$2" + [[ -f "$file" ]] || return 0 + local line + line="$(grep -E "^${key}=" "$file" | tail -n 1 || true)" + if [[ -n "$line" ]]; then + printf '%s' "${line#*=}" + fi +} + +collect_git_meta() { + ( + cd "${ROOT_DIR}" + GIT_HEAD="$(git rev-parse HEAD 2>/dev/null || echo unknown)" + GIT_BRANCH="$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo unknown)" + if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then + if [[ -n "$(git status --porcelain 2>/dev/null)" ]]; then + GIT_DIRTY=true + else + GIT_DIRTY=false + fi + else + GIT_DIRTY=unknown + fi + printf 'git_head=%s\n' "${GIT_HEAD}" + printf 'git_branch=%s\n' "${GIT_BRANCH}" + printf 'git_dirty=%s\n' "${GIT_DIRTY}" + ) +} + +collect_runtime_meta() { + run_in_env python - <<'PY' +import platform +import sys + +print(f"python_version={sys.version.split()[0]}") +print(f"platform={platform.platform()}") +try: + import torch + print(f"torch_version={torch.__version__}") + print(f"cuda_version={getattr(torch.version, 'cuda', None)}") + if torch.cuda.is_available(): + print(f"gpu_name={torch.cuda.get_device_name(0)}") + print(f"gpu_count={torch.cuda.device_count()}") + else: + print("gpu_name=") + print("gpu_count=0") +except Exception as exc: # noqa: BLE001 + print(f"torch_import_error={exc}") +PY +} + +while [[ $# -gt 0 ]]; do + case "$1" in + --schedule) + SCHEDULE="${2:-}" + shift 2 + ;; + --mode) + MODE="${2:-}" + shift 2 + ;; + --outdir) + OUTDIR_OVERRIDE="${2:-}" + shift 2 + ;; + --resume) + RESUME="${2:-}" + shift 2 + ;; + -h|--help) + usage + exit 0 + ;; + *) + echo "Unknown argument: $1" >&2 + usage >&2 + exit 2 + ;; + esac +done + +case "$SCHEDULE" in + sigmoid|adaptive_v1) ;; + *) + echo "Usage: $0 --schedule {sigmoid|adaptive_v1} --mode {...}" >&2 + exit 2 + ;; +esac + +case "$MODE" in + dry-run) + DURATION="" + ;; + activation) + DURATION="0.004" + ;; + stability) + DURATION="0.016" + ;; + baseline) + DURATION="0.128" + ;; + *) + echo "Usage: $0 --mode {dry-run|activation|stability|baseline}" >&2 + exit 2 + ;; +esac + +# Frozen paired knobs — identical for sigmoid and adaptive_v1. +DATA="${ECT_DATA_PATH:-/mnt/ect_project/datasets/cifar10-32x32.zip}" +TRANSFER="${ECT_TRANSFER_PATH:-/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl}" +RUNS_ROOT="${ECT_RUNS_ROOT:-/mnt/ect_project/runs/paired-training-v1}" + +COND=False +ARCH=ddpmpp +PRECOND=ect +BATCH=128 +BATCH_GPU=16 +OPTIM=RAdam +LR=0.0001 +DROPOUT=0.2 +AUGMENT=0 +Q=256 +K=8 +B=1 +C=0 +DOUBLE=10000 +EMA_BETA=0.9993 +SEED=0 +FP16=True +ENABLE_AMP=True +METRICS=none + +cd "${ROOT_DIR}" + +RUN_STAMP="$(date -u +%Y%m%dT%H%M%SZ)" +GIT_SHA_SHORT="$(short_git_sha)" +SCHEDULE_SLUG="$(schedule_slug "${SCHEDULE}")" + +resolve_outdir() { + if [[ -n "${RESUME}" ]]; then + [[ -f "${RESUME}" ]] || fail "resume state not found: ${RESUME}" + OUTDIR="$(cd "$(dirname "${RESUME}")" && pwd)" + if [[ -n "${OUTDIR_OVERRIDE}" ]]; then + RESOLVED_OVERRIDE="$(mkdir -p "${OUTDIR_OVERRIDE}" && cd "${OUTDIR_OVERRIDE}" && pwd)" + [[ "${RESOLVED_OVERRIDE}" == "${OUTDIR}" ]] || fail "--outdir must match resume directory (${OUTDIR})" + fi + return + fi + if [[ -n "${OUTDIR_OVERRIDE}" ]]; then + OUTDIR="${OUTDIR_OVERRIDE}" + return + fi + # Unique per (schedule, mode, commit, time): never mixes sigmoid with adaptive_v1. + OUTDIR="${RUNS_ROOT}/${SCHEDULE_SLUG}-${MODE}-${GIT_SHA_SHORT}-${RUN_STAMP}" +} + +build_cmd() { + # ct_train.py forbids --transfer and --resume together. + CMD=( + python "${ROOT_DIR}/ct_train.py" + "--data=${DATA}" + "--outdir=${OUTDIR}" + "--nosubdir" + "--cond=${COND}" + "--arch=${ARCH}" + "--precond=${PRECOND}" + "--batch=${BATCH}" + "--batch-gpu=${BATCH_GPU}" + "--optim=${OPTIM}" + "--lr=${LR}" + "--dropout=${DROPOUT}" + "--augment=${AUGMENT}" + "--mapping=${SCHEDULE}" + -q "${Q}" + -k "${K}" + -b "${B}" + -c "${C}" + "--double=${DOUBLE}" + "--ema_beta=${EMA_BETA}" + "--seed=${SEED}" + "--fp16=${FP16}" + "--enable_amp=${ENABLE_AMP}" + "--metrics=${METRICS}" + ) + if [[ -n "${RESUME}" ]]; then + CMD+=("--resume=${RESUME}") + else + CMD+=("--transfer=${TRANSFER}") + fi + if [[ -n "${DURATION}" ]]; then + CMD+=("--duration=${DURATION}") + fi +} + +print_resolved_params() { + cat </dev/null || echo unknown + )" + if [[ -n "$(cd "${ROOT_DIR}" && git status --porcelain 2>/dev/null)" ]]; then + cur_dirty=true + else + cur_dirty=false + fi + cur_data_sha="$(sha256_file "${DATA}")" + cur_transfer_sha="$(sha256_file "${TRANSFER}")" + + [[ "${cur_head}" == "${meta_head}" ]] || fail \ + "resume HEAD mismatch: current=${cur_head} fresh=${meta_head}" + [[ "${meta_dirty}" == "false" ]] || fail \ + "refuse resume from dirty fresh segment: git_dirty=${meta_dirty}" + [[ "${cur_dirty}" == "false" ]] || fail \ + "refuse resume with dirty worktree (must match clean fresh segment)" + [[ "${cur_data_sha}" == "${meta_data_sha}" ]] || fail \ + "resume dataset SHA mismatch: current=${cur_data_sha} fresh=${meta_data_sha}" + [[ "${cur_transfer_sha}" == "${meta_transfer_sha}" ]] || fail \ + "resume transfer SHA mismatch: current=${cur_transfer_sha} fresh=${meta_transfer_sha}" + + # Directory name should also encode the arm when created by this runner. + local base + base="$(basename "${OUTDIR}")" + if [[ "${base}" == sigmoid-* && "${SCHEDULE}" != "sigmoid" ]]; then + fail "refuse writing adaptive into sigmoid outdir: ${OUTDIR}" + fi + if [[ "${base}" == adaptive-v1-* && "${SCHEDULE}" != "adaptive_v1" ]]; then + fail "refuse writing sigmoid into adaptive-v1 outdir: ${OUTDIR}" + fi +} + +resolve_outdir +build_cmd + +# Resume identity gate runs for dry-run too so provenance can be tested without CUDA. +if [[ -n "${RESUME}" ]]; then + [[ -f "${DATA}" ]] || fail "dataset not found: ${DATA}" + [[ -f "${TRANSFER}" ]] || fail "transfer checkpoint not found: ${TRANSFER}" + for arg in "${CMD[@]}"; do + case "${arg}" in + --transfer=*) fail "internal error: resume command includes --transfer" ;; + --resume=*) HAS_RESUME_FLAG=1 ;; + esac + done + [[ "${HAS_RESUME_FLAG:-0}" == "1" ]] || fail "internal error: resume command missing --resume" + assert_resume_identity_gate +fi + +if [[ "${MODE}" == "dry-run" ]]; then + print_resolved_params + print_exact_command + exit 0 +fi + +[[ -f "${DATA}" ]] || fail "dataset not found: ${DATA}" +if [[ -z "${RESUME}" ]]; then + [[ -f "${TRANSFER}" ]] || fail "transfer checkpoint not found: ${TRANSFER}" + assert_fresh_outdir_safe +fi + +# Preserve the first (fresh) run_meta.env forever. Resume writes mode-specific + latest +# sidecars so packaging can still recover train-time hashes and the final command. +META_LATEST="${OUTDIR}/run_meta.latest.env" +META_MODE="${OUTDIR}/run_meta.${MODE}.env" +{ + print_resolved_params + print_exact_command + collect_runtime_meta +} | tee "${META_LATEST}" | tee "${META_MODE}" >/dev/null +if [[ ! -f "${OUTDIR}/run_meta.env" ]]; then + cp "${META_LATEST}" "${OUTDIR}/run_meta.env" +fi +# Always show the segment meta on stdout. +cat "${META_LATEST}" + +# Never append to old logs: each invocation gets a fresh log file; refuse clobber. +LOG_PATH="${OUTDIR}/${MODE}-${RUN_STAMP}.log" +[[ ! -e "${LOG_PATH}" ]] || fail "log already exists (refuse overwrite/append): ${LOG_PATH}" +printf '[run_schedule_experiment] logging to %s\n' "${LOG_PATH}" + +run_in_env "${CMD[@]}" 2>&1 | tee "${LOG_PATH}" +exit "${PIPESTATUS[0]}" diff --git a/tests/test_paired_training_infra.py b/tests/test_paired_training_infra.py new file mode 100644 index 00000000..673d4fcd --- /dev/null +++ b/tests/test_paired_training_infra.py @@ -0,0 +1,780 @@ +#!/usr/bin/env python3 +"""Lightweight infra tests for Role B paired-training runner/collector.""" + +from __future__ import annotations + +import csv +import os +import subprocess +import sys +import tempfile +import unittest +from pathlib import Path + + +REPO_ROOT = Path(__file__).resolve().parents[1] +RUNNER = REPO_ROOT / "scripts" / "run_schedule_experiment.sh" +COLLECTOR = REPO_ROOT / "scripts" / "collect_schedule_results.py" + + +def write_dummy_asset(path: Path, payload: bytes = b"asset") -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(payload) + + +def write_minimal_run( + run_dir: Path, + *, + schedule: str = "sigmoid", + mode: str = "stability", + duration: float = 0.016, + kimg: float | None = None, + global_batch: int = 128, + include_nan: bool = False, + git_head: str | None = None, + data_path: Path | None = None, + transfer_path: Path | None = None, +) -> None: + import hashlib + import math + + run_dir.mkdir(parents=True, exist_ok=True) + if kimg is None: + target_kimg = max(int(duration * 1000), 1) + target_nimg = target_kimg * 1000 + final_nimg = math.ceil(target_nimg / global_batch) * global_batch + kimg = final_nimg / 1000.0 + + def _sha(path: Path | None, fallback: bytes) -> str: + payload = path.read_bytes() if path is not None and path.is_file() else fallback + return hashlib.sha256(payload).hexdigest() + + data_sha = _sha(data_path, b"dataset") + transfer_sha = _sha(transfer_path, b"transfer") + + head = git_head or subprocess.check_output( + ["git", "rev-parse", "HEAD"], cwd=REPO_ROOT, text=True + ).strip() + branch = subprocess.check_output( + ["git", "rev-parse", "--abbrev-ref", "HEAD"], cwd=REPO_ROOT, text=True + ).strip() + dirty = bool( + subprocess.check_output(["git", "status", "--porcelain"], cwd=REPO_ROOT, text=True).strip() + ) + exact = ( + f"python {REPO_ROOT}/ct_train.py --mapping={schedule} --duration={duration} " + f"--outdir={run_dir}" + ) + (run_dir / "run_meta.env").write_text( + "\n".join( + [ + f"mode={mode}", + f"schedule={schedule}", + f"git_head={head}", + f"git_branch={branch}", + f"git_dirty={'true' if dirty else 'false'}", + f"data_sha256={data_sha}", + f"transfer_sha256={transfer_sha}", + f"exact_command={exact}", + "python_version=3.10.0", + "torch_version=2.0.0", + "cuda_version=11.8", + "gpu_name=TestGPU", + "gpu_count=1", + ] + ) + + "\n", + encoding="utf-8", + ) + + nimg = int(round(kimg * 1000)) + loss = "nan" if include_nan else "1.25" + with (run_dir / "train_summary.csv").open("w", newline="", encoding="utf-8") as handle: + writer = csv.DictWriter( + handle, + fieldnames=[ + "attempted_iteration", + "successful_optimizer_steps", + "processed_nimg", + "processed_kimg", + "loss", + "grad_scale", + "step_skipped", + "schedule", + "stage", + "elapsed_sec", + "peak_vram_gb", + ], + ) + writer.writeheader() + writer.writerow( + { + "attempted_iteration": 1, + "successful_optimizer_steps": 1, + "processed_nimg": nimg, + "processed_kimg": f"{kimg:.6f}", + "loss": loss, + "grad_scale": "65536", + "step_skipped": 0, + "schedule": schedule, + "stage": 0, + "elapsed_sec": "1.0", + "peak_vram_gb": "1.5", + } + ) + + (run_dir / "network-snapshot-latest.pkl").write_bytes(b"not-a-real-pickle") + # Minimal torch-free stand-in; collector tests skip torch.load via flag. + (run_dir / "training-state-latest.pt").write_bytes(b"not-a-real-state") + + +class RunnerInfraTests(unittest.TestCase): + def test_bash_syntax(self): + subprocess.check_call(["bash", "-n", str(RUNNER)]) + + def test_dry_run_sigmoid(self): + env = os.environ.copy() + env["ECT_DATA_PATH"] = "/tmp/does-not-need-to-exist-for-dry-run.zip" + env["ECT_TRANSFER_PATH"] = "/tmp/does-not-need-to-exist-for-dry-run.pkl" + env["ECT_RUNS_ROOT"] = "/tmp/paired-runs" + completed = subprocess.run( + ["bash", str(RUNNER), "--schedule", "sigmoid", "--mode", "dry-run"], + cwd=REPO_ROOT, + env=env, + check=True, + capture_output=True, + text=True, + ) + self.assertIn("schedule=sigmoid", completed.stdout) + self.assertIn("--transfer=", completed.stdout) + self.assertNotIn("--resume=", completed.stdout) + self.assertIn("--mapping=sigmoid", completed.stdout) + self.assertRegex( + completed.stdout, + r"OUTDIR=.*/sigmoid-dry-run-[0-9a-f]{8}-[0-9]{8}T[0-9]{6}Z", + ) + + def test_dry_run_adaptive_outdir_slug(self): + env = os.environ.copy() + env["ECT_DATA_PATH"] = "/tmp/does-not-need-to-exist-for-dry-run.zip" + env["ECT_TRANSFER_PATH"] = "/tmp/does-not-need-to-exist-for-dry-run.pkl" + env["ECT_RUNS_ROOT"] = "/tmp/paired-runs" + completed = subprocess.run( + ["bash", str(RUNNER), "--schedule", "adaptive_v1", "--mode", "dry-run"], + cwd=REPO_ROOT, + env=env, + check=True, + capture_output=True, + text=True, + ) + self.assertIn("schedule_slug=adaptive-v1", completed.stdout) + self.assertRegex( + completed.stdout, + r"OUTDIR=.*/adaptive-v1-dry-run-[0-9a-f]{8}-[0-9]{8}T[0-9]{6}Z", + ) + + def test_runner_has_no_tee_append(self): + text = RUNNER.read_text(encoding="utf-8") + # Only count real pipeline usage, not commentary. + self.assertNotRegex(text, r'(?m)^[^#\n]*\btee -a\b') + self.assertRegex(text, r'(?m)^[^#\n]*\btee "\$\{LOG_PATH\}"') + + def test_fresh_nonempty_outdir_fails(self): + with tempfile.TemporaryDirectory() as tmp: + outdir = Path(tmp) / "busy" + outdir.mkdir() + (outdir / "marker").write_text("x", encoding="utf-8") + data = Path(tmp) / "data.zip" + transfer = Path(tmp) / "transfer.pkl" + write_dummy_asset(data) + write_dummy_asset(transfer) + env = os.environ.copy() + env["ECT_DATA_PATH"] = str(data) + env["ECT_TRANSFER_PATH"] = str(transfer) + completed = subprocess.run( + [ + "bash", + str(RUNNER), + "--schedule", + "sigmoid", + "--mode", + "stability", + "--outdir", + str(outdir), + ], + cwd=REPO_ROOT, + env=env, + capture_output=True, + text=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertTrue( + ("exists and is not empty" in completed.stderr) + or ("fresh run requires empty outdir" in completed.stderr), + completed.stderr, + ) + + def test_dry_run_resume_excludes_transfer(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + outdir = tmp_path / "sigmoid-activation-deadbeef-20260101T000000Z" + outdir.mkdir() + resume = outdir / "training-state-latest.pt" + resume.write_bytes(b"x") + data = tmp_path / "data.zip" + transfer = tmp_path / "transfer.pkl" + write_dummy_asset(data, b"dataset") + write_dummy_asset(transfer, b"transfer") + import hashlib + + head = subprocess.check_output( + ["git", "rev-parse", "HEAD"], cwd=REPO_ROOT, text=True + ).strip() + dirty = bool( + subprocess.check_output( + ["git", "status", "--porcelain"], cwd=REPO_ROOT, text=True + ).strip() + ) + if dirty: + self.skipTest("worktree dirty; resume identity gate requires clean tree") + (outdir / "run_meta.env").write_text( + "\n".join( + [ + "schedule=sigmoid", + f"git_head={head}", + "git_dirty=false", + f"data_sha256={hashlib.sha256(b'dataset').hexdigest()}", + f"transfer_sha256={hashlib.sha256(b'transfer').hexdigest()}", + ] + ) + + "\n", + encoding="utf-8", + ) + env = os.environ.copy() + env["ECT_DATA_PATH"] = str(data) + env["ECT_TRANSFER_PATH"] = str(transfer) + completed = subprocess.run( + [ + "bash", + str(RUNNER), + "--schedule", + "sigmoid", + "--mode", + "dry-run", + "--resume", + str(resume), + ], + cwd=REPO_ROOT, + env=env, + check=True, + capture_output=True, + text=True, + ) + self.assertIn("--resume=", completed.stdout) + self.assertNotIn("--transfer=", completed.stdout) + + def test_resume_head_mismatch_fails(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + outdir = tmp_path / "sigmoid-activation-deadbeef-20260101T000000Z" + outdir.mkdir() + resume = outdir / "training-state-latest.pt" + resume.write_bytes(b"x") + data = tmp_path / "data.zip" + transfer = tmp_path / "transfer.pkl" + write_dummy_asset(data, b"dataset") + write_dummy_asset(transfer, b"transfer") + import hashlib + + (outdir / "run_meta.env").write_text( + "\n".join( + [ + "schedule=sigmoid", + "git_head=" + ("a" * 40), + "git_dirty=false", + f"data_sha256={hashlib.sha256(b'dataset').hexdigest()}", + f"transfer_sha256={hashlib.sha256(b'transfer').hexdigest()}", + ] + ) + + "\n", + encoding="utf-8", + ) + env = os.environ.copy() + env["ECT_DATA_PATH"] = str(data) + env["ECT_TRANSFER_PATH"] = str(transfer) + completed = subprocess.run( + [ + "bash", + str(RUNNER), + "--schedule", + "sigmoid", + "--mode", + "dry-run", + "--resume", + str(resume), + ], + cwd=REPO_ROOT, + env=env, + capture_output=True, + text=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn("resume HEAD mismatch", completed.stderr) + + def test_resume_hash_mismatch_fails(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + outdir = tmp_path / "sigmoid-activation-deadbeef-20260101T000000Z" + outdir.mkdir() + resume = outdir / "training-state-latest.pt" + resume.write_bytes(b"x") + data = tmp_path / "data.zip" + transfer = tmp_path / "transfer.pkl" + write_dummy_asset(data, b"dataset") + write_dummy_asset(transfer, b"transfer") + import hashlib + + head = subprocess.check_output( + ["git", "rev-parse", "HEAD"], cwd=REPO_ROOT, text=True + ).strip() + dirty = bool( + subprocess.check_output( + ["git", "status", "--porcelain"], cwd=REPO_ROOT, text=True + ).strip() + ) + if dirty: + self.skipTest("worktree dirty; resume identity gate requires clean tree") + (outdir / "run_meta.env").write_text( + "\n".join( + [ + "schedule=sigmoid", + f"git_head={head}", + "git_dirty=false", + "data_sha256=" + ("0" * 64), + f"transfer_sha256={hashlib.sha256(b'transfer').hexdigest()}", + ] + ) + + "\n", + encoding="utf-8", + ) + env = os.environ.copy() + env["ECT_DATA_PATH"] = str(data) + env["ECT_TRANSFER_PATH"] = str(transfer) + completed = subprocess.run( + [ + "bash", + str(RUNNER), + "--schedule", + "sigmoid", + "--mode", + "dry-run", + "--resume", + str(resume), + ], + cwd=REPO_ROOT, + env=env, + capture_output=True, + text=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn("resume dataset SHA mismatch", completed.stderr) + + +class CollectorInfraTests(unittest.TestCase): + def _assets(self, tmp: Path) -> tuple[Path, Path]: + data = tmp / "data.zip" + transfer = tmp / "transfer.pkl" + write_dummy_asset(data, b"dataset") + write_dummy_asset(transfer, b"transfer") + return data, transfer + + def test_missing_csv_fails(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + run_dir.mkdir() + head = subprocess.check_output( + ["git", "rev-parse", "HEAD"], cwd=REPO_ROOT, text=True + ).strip() + (run_dir / "run_meta.env").write_text( + "\n".join( + [ + f"git_head={head}", + "git_dirty=false", + f"data_sha256={__import__('hashlib').sha256(b'dataset').hexdigest()}", + f"transfer_sha256={__import__('hashlib').sha256(b'transfer').hexdigest()}", + "exact_command=python ct_train.py --mapping=sigmoid --duration=0.016", + ] + ) + + "\n", + encoding="utf-8", + ) + completed = subprocess.run( + [ + sys.executable, + str(COLLECTOR), + "--run-dir", + str(run_dir), + "--outdir", + str(outdir), + "--data", + str(data), + "--transfer", + str(transfer), + "--mode", + "stability", + "--schedule", + "sigmoid", + "--allow-dirty", + "--skip-snapshot-load", + "--skip-training-state-load", + ], + cwd=REPO_ROOT, + capture_output=True, + text=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn("train_summary.csv missing", completed.stderr) + + def test_nan_fails(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run(run_dir, include_nan=True, data_path=data, transfer_path=transfer) + completed = subprocess.run( + [ + sys.executable, + str(COLLECTOR), + "--run-dir", + str(run_dir), + "--outdir", + str(outdir), + "--data", + str(data), + "--transfer", + str(transfer), + "--mode", + "stability", + "--schedule", + "sigmoid", + "--allow-dirty", + "--skip-snapshot-load", + "--skip-training-state-load", + ], + cwd=REPO_ROOT, + capture_output=True, + text=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn("non-finite losses", completed.stderr) + + def test_schedule_mismatch_fails(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run(run_dir, schedule="sigmoid", data_path=data, transfer_path=transfer) + completed = subprocess.run( + [ + sys.executable, + str(COLLECTOR), + "--run-dir", + str(run_dir), + "--outdir", + str(outdir), + "--data", + str(data), + "--transfer", + str(transfer), + "--mode", + "stability", + "--schedule", + "adaptive_v1", + "--allow-dirty", + "--skip-snapshot-load", + "--skip-training-state-load", + ], + cwd=REPO_ROOT, + capture_output=True, + text=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn("CSV schedule", completed.stderr) + + def test_resume_progress_fields_round_trip_dict(self): + # Maintenance saves next-loop values so resume matches uninterrupted training. + cur_tick = 1 + cur_nimg = 16000 + tick_start_nimg = 12800 # previous tick start; must NOT be what we persist + elapsed_base_sec = 31.3 + segment_elapsed = 10.0 + state = { + "cur_nimg": cur_nimg, + "cur_tick": cur_tick + 1, + "tick_start_nimg": cur_nimg, + "attempted_iteration": 125, + "successful_optimizer_steps": 116, + "elapsed_sec": elapsed_base_sec + segment_elapsed, + } + self.assertEqual(int(state["cur_nimg"]), 16000) + self.assertEqual(int(state["cur_tick"]), 2) + self.assertEqual(int(state["tick_start_nimg"]), 16000) + self.assertNotEqual(int(state["tick_start_nimg"]), tick_start_nimg) + self.assertGreater(float(state["elapsed_sec"]), elapsed_base_sec) + # Filename-derived estimate would be wrong for short runs. + resume_tick_from_name = 1 + kimg_per_tick = 50 + wrong = resume_tick_from_name * kimg_per_tick * 1000 + self.assertNotEqual(wrong, int(state["cur_nimg"])) + + def test_already_done_budget_is_noop(self): + cur_nimg = 16000 + total_kimg = 16 + self.assertGreaterEqual(cur_nimg, total_kimg * 1000) + + def test_collector_prefers_mode_meta_for_command(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run( + run_dir, + mode="activation", + duration=0.004, + data_path=data, + transfer_path=transfer, + ) + # Simulate resume overwriting only mode/latest sidecars, preserving run_meta.env + # with activation identity hashes, while stability command lives in mode file. + import hashlib + import shutil + + identity = run_dir / "run_meta.env" + shutil.copy(identity, run_dir / "run_meta.activation.env") + data_sha = hashlib.sha256(data.read_bytes()).hexdigest() + transfer_sha = hashlib.sha256(transfer.read_bytes()).hexdigest() + head = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=REPO_ROOT, text=True).strip() + # Rewrite CSV to stability budget so packaging as stability can succeed. + write_minimal_run( + run_dir, + mode="stability", + duration=0.016, + data_path=data, + transfer_path=transfer, + ) + # Restore immutable identity with original hashes/git, but keep stability command sidecar. + (run_dir / "run_meta.env").write_text( + "\n".join( + [ + "mode=activation", + "schedule=sigmoid", + f"git_head={head}", + "git_branch=role-b/paired-training-v1", + "git_dirty=false", + f"data_sha256={data_sha}", + f"transfer_sha256={transfer_sha}", + "exact_command=python ct_train.py --mapping=sigmoid --duration=0.004", + ] + ) + + "\n", + encoding="utf-8", + ) + (run_dir / "run_meta.stability.env").write_text( + "\n".join( + [ + "mode=stability", + "schedule=sigmoid", + f"git_head={head}", + "git_dirty=false", + f"data_sha256={data_sha}", + f"transfer_sha256={transfer_sha}", + "exact_command=python ct_train.py --mapping=sigmoid --duration=0.016", + ] + ) + + "\n", + encoding="utf-8", + ) + completed = subprocess.run( + [ + sys.executable, + str(COLLECTOR), + "--run-dir", + str(run_dir), + "--outdir", + str(outdir), + "--data", + str(data), + "--transfer", + str(transfer), + "--mode", + "stability", + "--schedule", + "sigmoid", + "--allow-dirty", + "--skip-snapshot-load", + "--skip-training-state-load", + ], + cwd=REPO_ROOT, + capture_output=True, + text=True, + ) + self.assertEqual(completed.returncode, 0, completed.stderr) + + def test_collector_command_head_mismatch_fails(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run(run_dir, data_path=data, transfer_path=transfer) + head = subprocess.check_output( + ["git", "rev-parse", "HEAD"], cwd=REPO_ROOT, text=True + ).strip() + import hashlib + + data_sha = hashlib.sha256(data.read_bytes()).hexdigest() + transfer_sha = hashlib.sha256(transfer.read_bytes()).hexdigest() + (run_dir / "run_meta.stability.env").write_text( + "\n".join( + [ + "mode=stability", + "schedule=sigmoid", + "git_head=" + ("b" * 40), + "git_dirty=false", + f"data_sha256={data_sha}", + f"transfer_sha256={transfer_sha}", + "exact_command=python ct_train.py --mapping=sigmoid --duration=0.016", + ] + ) + + "\n", + encoding="utf-8", + ) + # Keep immutable fresh identity at current HEAD. + lines = [] + for line in (run_dir / "run_meta.env").read_text(encoding="utf-8").splitlines(): + if line.startswith("git_head="): + lines.append(f"git_head={head}") + else: + lines.append(line) + (run_dir / "run_meta.env").write_text("\n".join(lines) + "\n", encoding="utf-8") + completed = subprocess.run( + [ + sys.executable, + str(COLLECTOR), + "--run-dir", + str(run_dir), + "--outdir", + str(outdir), + "--data", + str(data), + "--transfer", + str(transfer), + "--mode", + "stability", + "--schedule", + "sigmoid", + "--allow-dirty", + "--skip-snapshot-load", + "--skip-training-state-load", + ], + cwd=REPO_ROOT, + capture_output=True, + text=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn("resume/command git_head", completed.stderr) + + def test_activation_expected_kimg_uses_batch_rounding(self): + from scripts.collect_schedule_results import expected_final_nimg + + nimg = expected_final_nimg(0.004, 128) + self.assertEqual(nimg, 4096) + self.assertEqual(nimg / 128, 32) + + def test_asset_sha_mismatch_fails(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run(run_dir, data_path=data, transfer_path=transfer) + # Corrupt the recorded train-time hash. + lines = [] + for line in (run_dir / "run_meta.env").read_text(encoding="utf-8").splitlines(): + if line.startswith("data_sha256="): + lines.append("data_sha256=" + ("0" * 64)) + else: + lines.append(line) + (run_dir / "run_meta.env").write_text("\n".join(lines) + "\n", encoding="utf-8") + completed = subprocess.run( + [ + sys.executable, + str(COLLECTOR), + "--run-dir", + str(run_dir), + "--outdir", + str(outdir), + "--data", + str(data), + "--transfer", + str(transfer), + "--mode", + "stability", + "--schedule", + "sigmoid", + "--allow-dirty", + "--skip-snapshot-load", + "--skip-training-state-load", + ], + cwd=REPO_ROOT, + capture_output=True, + text=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn("dataset SHA mismatch", completed.stderr) + + def test_outdir_nonempty_requires_overwrite(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + outdir.mkdir() + (outdir / "metadata.json").write_text("{}", encoding="utf-8") + data, transfer = self._assets(tmp_path) + write_minimal_run(run_dir, data_path=data, transfer_path=transfer) + completed = subprocess.run( + [ + sys.executable, + str(COLLECTOR), + "--run-dir", + str(run_dir), + "--outdir", + str(outdir), + "--data", + str(data), + "--transfer", + str(transfer), + "--mode", + "stability", + "--schedule", + "sigmoid", + "--allow-dirty", + "--skip-snapshot-load", + "--skip-training-state-load", + ], + cwd=REPO_ROOT, + capture_output=True, + text=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn("outdir is not empty", completed.stderr) + + +if __name__ == "__main__": + unittest.main() diff --git a/training/ct_training_loop.py b/training/ct_training_loop.py index 162270ba..bca30f59 100644 --- a/training/ct_training_loop.py +++ b/training/ct_training_loop.py @@ -1,4 +1,5 @@ import os +import csv import time import copy import json @@ -15,6 +16,23 @@ from metrics import metric_main +# Per-attempted-iteration CSV for paired fixed/adaptive comparisons. +# schedule / stage are recorded every row so collectors do not scrape logs. +# Adaptive-only columns (loss_ema, correction, ...) are added by Role C later. +_TRAIN_SUMMARY_FIELDS = ( + 'attempted_iteration', + 'successful_optimizer_steps', + 'processed_nimg', + 'processed_kimg', + 'loss', + 'grad_scale', + 'step_skipped', + 'schedule', + 'stage', + 'elapsed_sec', + 'peak_vram_gb', +) + #---------------------------------------------------------------------------- def setup_snapshot_image_grid(training_set, random_seed=0): @@ -202,11 +220,32 @@ def training_loop( misc.copy_params_and_buffers(src_module=data['ema'], dst_module=net, require_all=False) misc.copy_params_and_buffers(src_module=data['ema'], dst_module=ema, require_all=False) del data # conserve memory + attempted_iteration = 0 + successful_optimizer_steps = 0 + resumed_cur_nimg = None + resumed_cur_tick = None + resumed_tick_start_nimg = None + elapsed_base_sec = 0.0 if resume_state_dump: dist.print0(f'Loading training state from "{resume_state_dump}"...') data = torch.load(resume_state_dump, map_location=torch.device('cpu')) misc.copy_params_and_buffers(src_module=data['net'], dst_module=net, require_all=True) optimizer.load_state_dict(data['optimizer_state']) + if 'cur_nimg' not in data: + raise RuntimeError( + f'resume training-state missing cur_nimg: {resume_state_dump}; ' + f'refuse filename-derived progress fallback for paired runs' + ) + attempted_iteration = int(data.get('attempted_iteration', 0)) + successful_optimizer_steps = int(data.get('successful_optimizer_steps', 0)) + resumed_cur_nimg = int(data['cur_nimg']) + if 'cur_tick' in data: + resumed_cur_tick = int(data['cur_tick']) + if 'tick_start_nimg' in data: + resumed_tick_start_nimg = int(data['tick_start_nimg']) + elapsed_base_sec = float(data.get('elapsed_sec', 0.0)) + if hasattr(loss_fn, 'load_schedule_state_dict') and 'loss_fn_state' in data: + loss_fn.load_schedule_state_dict(data['loss_fn_state']) if enable_amp: if 'gradscaler_state' in data: # NOTE(aiihn): Although not loading the state_dict of the GradScaler works well, @@ -241,13 +280,79 @@ def training_loop( # Train. dist.print0(f'Training for {total_kimg} kimg...') dist.print0() - cur_nimg = resume_tick * kimg_per_tick * 1000 - cur_tick = resume_tick - tick_start_nimg = cur_nimg + # Prefer exact progress from training-state; filename-derived resume_tick is only a fallback. + if resumed_cur_nimg is not None: + cur_nimg = resumed_cur_nimg + else: + cur_nimg = resume_tick * kimg_per_tick * 1000 + if resumed_cur_tick is not None: + cur_tick = resumed_cur_tick + else: + cur_tick = resume_tick + if resumed_tick_start_nimg is not None: + tick_start_nimg = resumed_tick_start_nimg + else: + tick_start_nimg = cur_nimg tick_start_time = time.time() maintenance_time = tick_start_time - start_time dist.update_progress(cur_nimg / 1000, total_kimg) stats_jsonl = None + train_summary_csv = None + train_summary_writer = None + schedule_name = getattr(getattr(loss_fn, 'schedule', None), 'name', None) + if schedule_name is None: + schedule_name = getattr(loss_fn, 'adj', None) + if schedule_name is None: + schedule_name = loss_kwargs.get('adj', 'unknown') + + if dist.get_rank() == 0: + summary_path = os.path.join(run_dir, 'train_summary.csv') + summary_exists = os.path.isfile(summary_path) and os.path.getsize(summary_path) > 0 + if resume_state_dump: + if summary_exists: + with open(summary_path, 'rt', newline='') as handle: + rows = list(csv.DictReader(handle)) + if not rows: + raise RuntimeError(f'resume requested but {summary_path} has no data rows') + last = rows[-1] + last_attempted = int(float(last['attempted_iteration'])) + last_nimg = int(float(last.get('processed_nimg', last.get('nimg', -1)))) + last_schedule = str(last.get('schedule', '')).strip() + if last_schedule and last_schedule != str(schedule_name): + raise RuntimeError( + f'train_summary.csv schedule={last_schedule!r} does not match ' + f'current schedule={schedule_name!r}; refuse mixed-schedule resume' + ) + if attempted_iteration and last_attempted != attempted_iteration: + raise RuntimeError( + f'train_summary.csv last attempted_iteration={last_attempted} ' + f'does not match training-state attempted_iteration={attempted_iteration}' + ) + if last_nimg >= 0 and last_nimg != cur_nimg: + raise RuntimeError( + f'train_summary.csv last processed_nimg={last_nimg} ' + f'does not match resumed cur_nimg={cur_nimg}' + ) + if not attempted_iteration: + attempted_iteration = last_attempted + successful_optimizer_steps = int(float( + last.get('successful_optimizer_steps', last_attempted) + )) + train_summary_csv = open(summary_path, 'at', newline='') + train_summary_writer = csv.DictWriter(train_summary_csv, fieldnames=_TRAIN_SUMMARY_FIELDS) + if not summary_exists: + train_summary_writer.writeheader() + train_summary_csv.flush() + else: + if summary_exists: + raise RuntimeError( + f'fresh run refuses to append existing train_summary.csv: {summary_path}; ' + f'pass --resume for a legal continuation or use an empty outdir' + ) + train_summary_csv = open(summary_path, 'wt', newline='') + train_summary_writer = csv.DictWriter(train_summary_csv, fieldnames=_TRAIN_SUMMARY_FIELDS) + train_summary_writer.writeheader() + train_summary_csv.flush() # Prepare for the mapping fn p(r|t). dist.print0(f'Reduce dt every {double_ticks} ticks.') @@ -255,14 +360,46 @@ def training_loop( def update_scheduler(loss_fn): loss_fn.update_schedule(stage) dist.print0(f'Update scheduler at {cur_tick} ticks, {cur_nimg / 1e3} kimg, ratio {loss_fn.ratio}') + + def build_training_state(): + # Checkpointing happens during maintenance, before the loop advances: + # cur_tick += 1 + # tick_start_nimg = cur_nimg + # Persist the *next-loop* values so resume matches uninterrupted training. + data = dict( + net=net, + optimizer_state=optimizer.state_dict(), + attempted_iteration=attempted_iteration, + successful_optimizer_steps=successful_optimizer_steps, + cur_nimg=cur_nimg, + cur_tick=cur_tick + 1, + tick_start_nimg=cur_nimg, + elapsed_sec=elapsed_base_sec + (time.time() - start_time), + ) + if hasattr(loss_fn, 'schedule_state_dict'): + data['loss_fn_state'] = loss_fn.schedule_state_dict() + if enable_amp: + data['gradscaler_state'] = scaler.state_dict() + return data stage = cur_tick // double_ticks update_scheduler(loss_fn) + # Already at/past the requested budget (e.g. resume with same duration): do not + # execute an extra optimizer step before noticing done. + if cur_nimg >= total_kimg * 1000: + dist.print0(f'Already reached training budget at {cur_nimg / 1e3:.3f} kimg; exiting.') + if train_summary_csv is not None: + train_summary_csv.close() + dist.print0() + dist.print0('Exiting...') + return + while True: # Accumulate gradients. optimizer.zero_grad(set_to_none=True) + loss_batches = [] for round_idx in range(num_accumulation_rounds): with misc.ddp_sync(ddp, (round_idx == num_accumulation_rounds - 1)): images, labels = next(dataset_iterator) @@ -270,6 +407,7 @@ def update_scheduler(loss_fn): labels = labels.to(device) loss = loss_fn(net=ddp, images=images, labels=labels, augment_pipe=augment_pipe) + loss_batches.append(loss.detach()) training_stats.report('Loss/loss', loss) if enable_amp: scaler.scale(loss.mean()).backward() @@ -291,13 +429,35 @@ def update_scheduler(loss_fn): # for g in optimizer.param_groups: # g['lr'] = optimizer_kwargs['lr'] * min(cur_nimg / max(lr_rampup_kimg * 1000, 1e-8), 1) - # Update weights. + # Update weights. Record GradScaler scale / skip for train_summary.csv. + # scale_before is the scale applied to this step; a drop after update() + # means overflow was detected and optimizer.step was skipped. + grad_scale = float(loss_scaling) + step_skipped = 0 if enable_amp: + scale_before = float(scaler.get_scale()) scaler.step(optimizer) scaler.update() + scale_after = float(scaler.get_scale()) + grad_scale = scale_before + step_skipped = int(scale_after < scale_before) else: optimizer.step() + attempted_iteration += 1 + if not step_skipped: + successful_optimizer_steps += 1 + + loss_mean = float(torch.cat([x.flatten() for x in loss_batches]).mean().cpu()) + elapsed_sec = elapsed_base_sec + (time.time() - start_time) + peak_vram_gb = torch.cuda.max_memory_allocated(device) / 2**30 + training_stats.report0('Progress/grad_scale', grad_scale) + training_stats.report0('Progress/step_skipped', step_skipped) + training_stats.report0('Progress/attempted_iteration', attempted_iteration) + training_stats.report0('Progress/successful_optimizer_steps', successful_optimizer_steps) + training_stats.report0('Timing/elapsed_sec', elapsed_sec) + training_stats.report0('Resources/update_peak_gpu_mem_gb', peak_vram_gb) + # Update EMA. if ema_halflife_kimg is not None: ema_halflife_nimg = ema_halflife_kimg * 1000 @@ -309,6 +469,22 @@ def update_scheduler(loss_fn): # Perform maintenance tasks once per tick. cur_nimg += batch_size + if train_summary_writer is not None: + train_summary_writer.writerow({ + 'attempted_iteration': attempted_iteration, + 'successful_optimizer_steps': successful_optimizer_steps, + 'processed_nimg': cur_nimg, + 'processed_kimg': f'{cur_nimg / 1e3:.6f}', + 'loss': f'{loss_mean:.8f}', + 'grad_scale': f'{grad_scale:.8g}', + 'step_skipped': step_skipped, + 'schedule': schedule_name, + 'stage': stage, + 'elapsed_sec': f'{elapsed_sec:.6f}', + 'peak_vram_gb': f'{peak_vram_gb:.6f}', + }) + train_summary_csv.flush() + done = (cur_nimg >= total_kimg * 1000) if (not done) and (cur_tick != 0) and (cur_nimg < tick_start_nimg + kimg_per_tick * 1000): continue @@ -319,6 +495,8 @@ def update_scheduler(loss_fn): fields += [f"tick {training_stats.report0('Progress/tick', cur_tick):<5d}"] fields += [f"kimg {training_stats.report0('Progress/kimg', cur_nimg / 1e3):<9.1f}"] fields += [f"loss {training_stats.default_collector['Loss/loss']:<9.5f}"] + fields += [f"grad_scale {grad_scale:<9g}"] + fields += [f"step_skipped {step_skipped:<7d}"] fields += [f"time {dnnlib.util.format_time(training_stats.report0('Timing/total_sec', tick_end_time - start_time)):<12s}"] fields += [f"sec/tick {training_stats.report0('Timing/sec_per_tick', tick_end_time - tick_start_time):<7.1f}"] fields += [f"sec/kimg {training_stats.report0('Timing/sec_per_kimg', (tick_end_time - tick_start_time) / (cur_nimg - tick_start_nimg) * 1e3):<7.2f}"] @@ -351,10 +529,7 @@ def update_scheduler(loss_fn): # Save full dump of the training state. if (state_dump_ticks is not None) and (done or cur_tick % state_dump_ticks == 0) and cur_tick != 0 and dist.get_rank() == 0: - data = dict(net=net, optimizer_state=optimizer.state_dict()) - if enable_amp: - data.update(gradscaler_state=scaler.state_dict()) - torch.save(data, os.path.join(run_dir, f'training-state-{cur_tick:06d}.pt')) + torch.save(build_training_state(), os.path.join(run_dir, f'training-state-{cur_tick:06d}.pt')) # Save latest checkpoints if (ckpt_ticks is not None) and (done or cur_tick % ckpt_ticks == 0) and cur_tick != 0: @@ -372,10 +547,7 @@ def update_scheduler(loss_fn): del data # conserve memory if dist.get_rank() == 0: - data = dict(net=net, optimizer_state=optimizer.state_dict()) - if enable_amp: - data.update(gradscaler_state=scaler.state_dict()) - torch.save(data, os.path.join(run_dir, f'training-state-latest.pt')) + torch.save(build_training_state(), os.path.join(run_dir, f'training-state-latest.pt')) # Sample Img if (sample_ticks is not None) and (done or cur_tick % sample_ticks == 0) and dist.get_rank() == 0: @@ -444,6 +616,8 @@ def update_scheduler(loss_fn): metric_main.report_metric(result_dict, run_dir=run_dir, snapshot_pkl='network-snapshot-latest.pkl') # Done. + if train_summary_csv is not None: + train_summary_csv.close() dist.print0() dist.print0('Exiting...') From 5344a5c97ab461b640ad5c5413cbf57eec527c2a Mon Sep 17 00:00:00 2001 From: Alicia Date: Tue, 21 Jul 2026 10:23:57 +0800 Subject: [PATCH 16/60] Add loss-EMA adaptive t-to-r schedule and activation evidence Add the loss-EMA feedback-adaptive schedule, fixed-schedule parity tests, adaptive telemetry, exact resume support, activation gating, canonical dataset identity, and clean A100 activation evidence. Role B reviewed head c138bd7f015a04394a902ece14b03693c8962076: 81 tests passed with no blocking issues. --- artifacts/cifar10_canonical_identity.json | 79 +++ ct_train.py | 43 +- docs/PAIRED_TRAINING_PROTOCOL.md | 46 +- docs/SCHEDULES.md | 161 +++++ .../README.md | 53 ++ .../metadata.json | 57 ++ .../train_summary.csv | 33 ++ scripts/collect_schedule_results.py | 333 +++++++++++ tests/test_adaptive_signal_updates.py | 188 ++++++ tests/test_paired_training_infra.py | 550 +++++++++++++++++- tests/test_schedules.py | 415 +++++++++++++ tests/test_training_cli_compat.py | 92 +++ training/ct_training_loop.py | 420 ++++++++++++- training/loss.py | 84 ++- training/schedules.py | 350 +++++++++++ 15 files changed, 2865 insertions(+), 39 deletions(-) create mode 100644 artifacts/cifar10_canonical_identity.json create mode 100644 docs/SCHEDULES.md create mode 100644 results/adaptive_v1_activation_a100_cb84a934/README.md create mode 100644 results/adaptive_v1_activation_a100_cb84a934/metadata.json create mode 100644 results/adaptive_v1_activation_a100_cb84a934/train_summary.csv create mode 100644 tests/test_adaptive_signal_updates.py create mode 100644 tests/test_schedules.py create mode 100644 tests/test_training_cli_compat.py create mode 100644 training/schedules.py diff --git a/artifacts/cifar10_canonical_identity.json b/artifacts/cifar10_canonical_identity.json new file mode 100644 index 00000000..1a608603 --- /dev/null +++ b/artifacts/cifar10_canonical_identity.json @@ -0,0 +1,79 @@ +{ + "schema_version": 1, + "asset_id": "cifar10-32x32-canonical-08c9ed1b2b1c", + "asset_type": "edm_imagefolder_zip", + "canonical_status": "recovered_and_verified", + "verified_at_utc": "2026-07-20T11:03:55Z", + "verification_host": "qpAEJL", + "canonical_archive": { + "path": "/mnt/ect_project/datasets/cifar10-32x32.zip", + "bytes": 166000134, + "sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "zip_crc_ok": true, + "member_count": 50001, + "compression_methods": { + "stored": 50001 + }, + "distinct_zip_timestamps": 6 + }, + "official_source_archive": { + "path": "/mnt/ect_project/datasets/cifar-10-python.tar.gz", + "bytes": 170498071, + "md5": "c58f30108f718f92721af3b95e74349a", + "expected_md5": "c58f30108f718f92721af3b95e74349a", + "md5_ok": true + }, + "semantic_identity": { + "method": "edm_zip_semantic_identity_v1", + "member_names_sha256": "e94bed3934ef284769555b78a38c8536845b2a1a30c0657934b7b2bb161a74eb", + "member_contents_sha256": "89acb714d98b6a51b2e4fcfc10d65d682d00c22a37a2edad8dbec0e02f05298f", + "png_member_bytes_sha256": "7c0bdb2e1ec770bbaa70066ac99368df5b80471b2a4fd81e40252ad2cf80c9e7", + "dataset_json_raw_sha256": "260c37e04df4cff7cf74f29970e1b3090973d2a03b79f695d7622471d182b52d", + "labels_canonical_sha256": "3eeb6437c221a8102b86adc451a21586d43c5013c642cc39a3147823104ece9a", + "label_pairs_sha256": "9453fff06b2ec02708ae903a5417f49f75c8adf42ab78c61c6e7fb628be0164a" + }, + "dataset_validation": { + "images": 50000, + "labels": 50000, + "resolution": [ + 32, + 32 + ], + "color_mode": "RGB", + "labels_match_png_names": true, + "class_histogram": { + "0": 5000, + "1": 5000, + "2": 5000, + "3": 5000, + "4": 5000, + "5": 5000, + "6": 5000, + "7": 5000, + "8": 5000, + "9": 5000 + }, + "status": "passed" + }, + "prior_role_c_activation_archive": { + "recorded_sha256": "9fd64620e37bfc0c995535fa52701c9641bcd07635008bfda0c9fbddde1a4ed6", + "byte_identical_to_canonical": false, + "semantic_equivalence": "not_established", + "formal_evidence_status": "superseded_by_canonical_rerun" + }, + "canonical_role_c_activation_rerun": { + "run_id": "adaptive-v1-activation-cb84a934-20260720T153954Z", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "evidence_path": "results/adaptive_v1_activation_a100_cb84a934", + "metadata_sha256": "c60c7c9b0086c663b92a4f61b3d7a79409dd48d64e563b49b947b8f2c272047f", + "train_summary_sha256": "a052b55d7f04a49bfc1ea6f8689c4d57b1c6855e3cfb4095aa9cc42e8363f87c", + "collector_status": "passed", + "activation_gate_passed": true + }, + "experiment_policy": { + "required_dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "scope": "all future fixed and adaptive formal experiments", + "archive_committed_to_git": false + }, + "final_status": "passed" +} diff --git a/ct_train.py b/ct_train.py index 89ab6ed1..dee0baca 100644 --- a/ct_train.py +++ b/ct_train.py @@ -36,6 +36,27 @@ def convert(self, value, param, ctx): return [] return value.split(',') + +def normalize_schedule_name(_ctx, _param, value): + return 'adaptive_v1' if value == 'adaptive-v1' else value + + +def make_loss_kwargs(opts): + """Build the persisted loss/schedule config without renaming legacy keys.""" + return dnnlib.EasyDict( + P_mean=opts.mean, + P_std=opts.std, + q=opts.q, + c=opts.c, + k=opts.k, + b=opts.b, + adj=opts.mapping, + adaptive_loss_ema_beta=opts.adaptive_loss_ema_beta, + adaptive_warmup_updates=opts.adaptive_warmup_updates, + adaptive_max_adjust=opts.adaptive_max_adjust, + adaptive_min_gap=opts.adaptive_min_gap, + ) + #---------------------------------------------------------------------------- @click.command() @@ -65,10 +86,23 @@ def convert(self, value, param, ctx): @click.option('--mean', help='P_mean of Log Normal Distribution', metavar='FLOAT', type=click.FloatRange(), default=-1.1, show_default=True) @click.option('--std', help='P_std of Log Normal Distribution', metavar='FLOAT', type=click.FloatRange(), default=2.0, show_default=True) -@click.option('--mapping', help='Type of mapping fn', metavar='STR', type=click.Choice(['const', 'sigmoid']), default='sigmoid', show_default=True) +@click.option('--schedule', '--mapping', 'mapping', + help='Type of t-to-r schedule; --mapping is a compatibility alias', metavar='STR', + type=click.Choice(['const', 'sigmoid', 'adaptive_v1', 'adaptive-v1']), + callback=normalize_schedule_name, default='sigmoid', show_default=True) +@click.option('--adaptive-loss-ema-beta', help='EMA beta for adaptive_v1 loss signal', metavar='FLOAT', + type=click.FloatRange(min=0, max=1, max_open=True), default=0.9, show_default=True) +@click.option('--adaptive-update-kimg', help='Aggregate adaptive_v1 loss signal every KIMG, independent of ticks', metavar='KIMG', + type=click.FloatRange(min=0, min_open=True), default=0.5, show_default=True) +@click.option('--adaptive-warmup-updates', help='Valid adaptive_v1 signal updates before applying corrections', metavar='INT', + type=click.IntRange(min=0), default=2, show_default=True) +@click.option('--adaptive-max-adjust', help='Maximum absolute adaptive_v1 correction to r/t', metavar='FLOAT', + type=click.FloatRange(min=0, max=1), default=0.05, show_default=True) +@click.option('--adaptive-min-gap', help='Minimum relative gap (t-r)/t for adaptive_v1', metavar='FLOAT', + type=click.FloatRange(min=0, max=1, min_open=True, max_open=True), default=1e-3, show_default=True) @click.option('--double', help='How often to reduce dt', metavar='TICKS', type=click.IntRange(min=1), default=500, show_default=True) -@click.option('-q', help='Decay Factor', metavar='FLOAT', type=click.FloatRange(min=0, min_open=True), default=2.0, show_default=True) +@click.option('-q', help='Decay Factor', metavar='FLOAT', type=click.FloatRange(min=1, min_open=True), default=2.0, show_default=True) @click.option('-k', help='Mapping fn hyperparams', metavar='FLOAT', type=click.FloatRange(), default=8.0, show_default=True) @click.option('-b', help='Mapping fn hyperparams', metavar='FLOAT', type=click.FloatRange(), default=1.0, show_default=True) @@ -118,7 +152,7 @@ def main(**kwargs): c.dataset_kwargs = dnnlib.EasyDict(class_name='training.dataset.ImageFolderDataset', path=opts.data, use_labels=opts.cond, xflip=opts.xflip, cache=opts.cache) c.data_loader_kwargs = dnnlib.EasyDict(pin_memory=True, num_workers=opts.workers, prefetch_factor=2) c.network_kwargs = dnnlib.EasyDict() - c.loss_kwargs = dnnlib.EasyDict(P_mean=opts.mean, P_std=opts.std, q=opts.q, c=opts.c, k=opts.k, b=opts.b, adj=opts.mapping) + c.loss_kwargs = make_loss_kwargs(opts) c.optimizer_kwargs = dnnlib.EasyDict(class_name=f'torch.optim.{opts.optim}', lr=opts.lr, betas=[0.9,0.999], eps=1e-8) # Validate dataset options. @@ -168,7 +202,8 @@ def main(**kwargs): c.ema_beta = opts.ema_beta c.update(batch_size=opts.batch, batch_gpu=opts.batch_gpu) c.update(loss_scaling=opts.ls, cudnn_benchmark=opts.bench, enable_tf32=opts.tf32, enable_amp=opts.enable_amp) - c.update(kimg_per_tick=opts.tick, snapshot_ticks=opts.snap, state_dump_ticks=opts.dump, ckpt_ticks=opts.ckpt, double_ticks=opts.double) + c.update(kimg_per_tick=opts.tick, snapshot_ticks=opts.snap, state_dump_ticks=opts.dump, ckpt_ticks=opts.ckpt, + double_ticks=opts.double, adaptive_update_kimg=opts.adaptive_update_kimg) c.update(mid_t=opts.mid_t, metrics=opts.metrics, sample_ticks=opts.sample_every, eval_ticks=opts.eval_every) # Random seed. diff --git a/docs/PAIRED_TRAINING_PROTOCOL.md b/docs/PAIRED_TRAINING_PROTOCOL.md index 75eba1f5..2d5ce8a9 100644 --- a/docs/PAIRED_TRAINING_PROTOCOL.md +++ b/docs/PAIRED_TRAINING_PROTOCOL.md @@ -79,7 +79,7 @@ Rules: 5. Resume requires explicit `--resume` and must not pass `--transfer`. 6. Resume refuses mixed schedules (meta / dirname arm mismatch) **and** requires the same clean `git_head` / dataset / transfer SHA as the immutable fresh `run_meta.env`. -7. Progress (`cur_nimg`, next-loop `cur_tick`, counters, `elapsed_sec`) is restored from training-state contents. +7. Progress (`cur_nimg`, next-loop `cur_tick`, counters, `elapsed_sec`) is restored from training-state contents. Adaptive runs also restore the next signal boundary and any partial loss sum/count, so resuming between signal boundaries is equivalent to uninterrupted training. ## Telemetry @@ -94,15 +94,31 @@ attempted iteration: - `step_skipped` - `schedule` - `stage` +- `next_loop_cur_tick` (the exact tick that a checkpoint written during that + iteration will persist) +- `loss_ema` / `loss_reference` +- `correction` / `signal_updates` / `adaptive_active` +- `r_over_t_mean` / `gap_mean` - `elapsed_sec` - `peak_vram_gb` Counters and exact progress (`cur_nimg`, next-loop `cur_tick`, `tick_start_nimg`) are stored in `training-state-*.pt` and restored on resume. +The CSV records that next-loop tick directly, so result collection compares it +with the checkpoint rather than reconstructing maintenance boundaries from +image count or `--tick`. Fresh runs refuse to append an existing non-empty CSV; legal resumes append only after validating the last row against restored counters / `cur_nimg` / schedule. +When resuming a run with the exact pre-telemetry 11-column schema, the training +loop saves `train_summary.csv.pre-telemetry.bak` and atomically upgrades the CSV +to the current schema. The immediately preceding telemetry schema is likewise +upgraded with a `.pre-next-loop-tick.bak` backup. Historical telemetry and tick +cells that were absent from their source schema stay empty because those values +cannot be reconstructed. Unknown or partial schemas remain hard errors. -Adaptive-only fields (`loss_ema`, `correction`, …) are reserved for Role C. +Schedule telemetry is obtained through the stable +`loss_fn.schedule_runtime_metrics()` interface; the training loop and result +collector do not inspect schedule implementation fields. ## Collector @@ -118,6 +134,32 @@ python scripts/collect_schedule_results.py \ `scripts/collect_fixed_baseline_results.py` remains a compatibility wrapper. +The collector strictly validates populated telemetry types, finiteness, ranges, +controller-state consistency, and monotonic `signal_updates`. A migrated empty +historical prefix is permitted, but an empty row after telemetry begins is not. +`metadata.json` records telemetry row count, total row count, coverage, and the +first iteration with telemetry so partial historical coverage is auditable. + +For `--mode activation --schedule adaptive_v1`, packaging is also an activation +gate, not merely a CSV-format check. It fails unless the final controller state +has `signal_updates >= 3` and `adaptive_active=true`, a nonzero correction has +been observed, its next iteration exists before the final iteration, and at +least four attempted iterations remain after that controller update. +`first_nonzero_correction_iteration` is the end-of-iteration controller update; +`first_adapted_pair_iteration` is exactly the following iteration, where that +correction first enters `r(t)`. The pair telemetry on the former iteration was +sampled before the update and must not be described as adapted. + +## Recorded activation evidence + +[`results/adaptive_v1_activation_a100_cb84a934/`](../results/adaptive_v1_activation_a100_cb84a934/) +contains a clean single-A100 activation run at +`cb84a93454a91500d01433dd2d024d775fb275ef`. Its Collector validation passed +with 32 attempted iterations (4.096 kimg), eight final signal updates, full +telemetry coverage, and matching final next-loop tick (`2`) between CSV and +training state. This is controller-activation evidence only, not a paired +quality, stability, or baseline result. + Automatically records train-time HEAD from `run_meta.env`, packaging-time HEAD, dirty status, exact command, asset SHA256 digests, and runtime metadata. Packaging fails closed unless train-time and packaging HEADs match, and unless diff --git a/docs/SCHEDULES.md b/docs/SCHEDULES.md new file mode 100644 index 00000000..b0e53664 --- /dev/null +++ b/docs/SCHEDULES.md @@ -0,0 +1,161 @@ +# t→r 映射调度模块说明(Role C) + +模块:`training/schedules.py`;测试:`tests/test_schedules.py`。 + +ECT 训练对 `(x_t, x_r)` 中 `r = r(t, stage)` 由映射调度给出(论文 arXiv 2406.14548 +第 3.3 节与附录 A)。本模块把 t→r 调度收敛到统一接口;`ECMLoss` 的 t→r 入口 +已改为经由本模块派发(`__init__` 中 `get_schedule(adj, q=q, k=k, b=b)`, +`__call__` 中 `r = self.schedule.compute_r(t=t, stage=self.stage)`), +`training/loss.py` 中除该入口外的训练逻辑(ε 共享、teacher `no_grad`、 +dropout RNG 保存/恢复、损失权重、Huber 参数)逐字节未动。 + +## 接口 + +两种调用形式等价: + +```python +from training.schedules import compute_r, get_schedule + +# 对象式 +schedule = get_schedule("sigmoid", q=256, k=8, b=1) +r = schedule.compute_r(t=t, stage=stage) + +# 函数式 +r = compute_r(t=t, stage=stage, schedule="sigmoid", q=256, k=8, b=1) +``` + +- `t`:任意形状的 torch 张量(训练循环里是 `[N,1,1,1]`),也接受 + python/numpy 标量或数组(内部 `torch.as_tensor` 转换);返回同形状张量, + 恒有 `0 <= r <= t`。 +- `stage`:训练循环维护的课程阶段;三种调度均保持官方 + `cur_tick // double_ticks` 的整数 stage。`adaptive_v1` 只根据 loss EMA + 修正 `r/t`,不另外改变 stage 课程。 +- 超参默认与 `ct_train.py` CLI 一致:`q=2.0, k=8.0, b=1.0`。 +- 兼容 `ECMLoss` 的有状态用法:`schedule.update_schedule(stage)` 后调 + `schedule.t_to_r(t)`。 + +## 支持的调度 + +| 名称 | 公式(`decay = 1/q^(stage+1)`,均 clamp `r>=0`) | 来源 | +| :-- | :-- | :-- | +| `const` | `r/t = 1 - decay` | 官方 Eq.(17),`ECMLoss.t_to_r_const` 原样移植 | +| `sigmoid` | `r/t = 1 - decay * n(t)`,`n(t) = 1 + k*sigmoid(-b*t)` | 官方 Eq.(18),训练默认,`ECMLoss.t_to_r_sigmoid` 原样移植 | +| `adaptive_v1` | 官方 `sigmoid` ratio + loss EMA 驱动的有界修正 | Role C 实验 v1 | + +**官方 fixed 公式不变的保证**:官方公式方法 `t_to_r_const` / `t_to_r_sigmoid` +**原样保留**在 `training/loss.py` 中作为 parity 基准(训练路径不再调用它们, +仅供测试对照);`tests/test_schedules.py::OfficialFormulaParityTest` 对多组 +`(q,k,b,stage,dtype)`(A100 上还含 cpu/cuda 两种设备)把 schedules 模块输出与 +这两个参考方法做**按位相等**校验,`ECMLossIntegrationTest` 再校验接入后的 +`self.schedule.compute_r` 入口与参考方法按位一致。任何一侧公式被改动,测试 +都会失败。 + +## adaptive_v1 设计 + +设官方 sigmoid 比率为 `rho_0 = r/t`,warm-up 最后一次更新后的 loss EMA +为 `L_ref`,当前 loss EMA 为 `L_ema`: + +```text +score = tanh(log(L_ref) - log(L_ema)) +delta = adaptive_max_adjust * score +rho = clamp(rho_0 + delta, 0, 1 - adaptive_min_gap) +r = t * rho +``` + +`adaptive_v1` 在没有有效 correction(尚无有效 signal、warmup 中,或 +`adaptive_max_adjust=0`)时直接返回官方 sigmoid 的 `rho_0`,按位保持 fixed +baseline。只有 correction 激活后才应用 `adaptive_min_gap` 上限与上式中的修正。 + +- loss 下降时 `delta > 0`,减小 `t-r`,加强一致性约束; +- loss 恶化时 `delta < 0`,增大 `t-r`,降低当前任务难度; +- `|delta| <= adaptive_max_adjust`,不做搜索或额外控制器; +- 非有限、负数 loss 信号直接忽略;输出做有限化和边界 clamp, + 保证 `0 <= r <= t`且不产生 NaN/Inf; +- loss 信号每 `adaptive_update_kimg`(默认 0.5 kimg)按**绝对图像数边界** + 聚合;它在训练迭代内执行,不依赖 `--tick`/maintenance(默认 50 kimg)。 + 每个窗口的 sum/count 以 all-reduce 合并,因此同样输入与状态下各 rank 使用 + 同一修正值。 +- 前 `adaptive_warmup_updates` 个有效聚合窗口只建立 loss EMA;最后一个 + warm-up 窗口更新 EMA 后,将该 EMA 固定为 `loss_reference`。下一次更新才 + 允许非零修正。 + +默认参数只是首版单点配置,不代表完成大范围搜索: + +| CLI | 默认值 | 含义 | +| :-- | --: | :-- | +| `--adaptive-loss-ema-beta` | `0.9` | loss EMA 平滑系数 | +| `--adaptive-update-kimg` | `0.5` | 触发一次全局 adaptive loss 聚合的图像间隔;与 `--tick` 独立 | +| `--adaptive-warmup-updates` | `2` | 应用修正前仅更新 EMA 的有效信号窗口数 | +| `--adaptive-max-adjust` | `0.05` | `r/t` 最大绝对修正 | +| `--adaptive-min-gap` | `0.001` | 开启修正时的最小 `(t-r)/t` | + +### 稳定运行时 telemetry 接口 + +训练与结果收集代码只通过 `loss_fn.schedule_runtime_metrics()` 读取调度状态, +不访问 schedule 的内部字段。该接口固定返回: + +- `loss_ema`、`loss_reference`、`correction`、`signal_updates`; +- `adaptive_active`:warmup 完成且 correction 控制器已激活; +- `r_over_t_mean`:最近实际训练 pair 的 `mean(r/t)`; +- `gap_mean`:最近实际训练 pair 的 `mean((t-r)/t)`。 + +`train_summary.csv` 每个 attempted iteration 记录这些字段,以及 +`next_loop_cur_tick`。后者是本 iteration 完成后下一循环将使用的真实 tick;若该次 +maintenance 保存 checkpoint,它与 checkpoint 中的 `cur_tick` 完全一致,因此 +collector 不会从 `processed_nimg` 或 `--tick` 反推 tick。controller 状态是在 +本 iteration 末尾(可能完成 signal update 后)读取,`r_over_t_mean` 与 +`gap_mean` 则描述本 iteration 实际使用的 pair;因此 correction 的变化应在后续 +iteration 的 pair 指标中体现。 + +collector 的 activation gate 将两个 iteration 明确区分: +`first_nonzero_correction_iteration` 表示本 iteration 结束后 controller +第一次得到非零 correction;`first_adapted_pair_iteration` 只能是其下一次 +iteration,因为该次 pair 才会把 correction 用于 `r(t)`。对于 +`--mode activation --schedule adaptive_v1`,若最终 `signal_updates < 3`、 +最终 `adaptive_active` 不为真、没有非零 correction、下一实际 pair 不在结束前, +或 correction 后少于 4 个 attempted iterations,collector 会拒绝打包。 + +从旧的 11 列 `train_summary.csv` 续训时,只接受完全匹配的旧标准表头。训练循环 +会先保存 `.pre-telemetry.bak`,再原子迁移到新表头;无法重建的历史 telemetry +保持空值。collector 允许这一段连续的历史空前缀,并在 metadata 中记录覆盖率与 +首个 telemetry iteration;telemetry 开始后的空洞、部分表头或非法状态都会拒绝。 + +adaptive 运行状态会随 training-state 保存/恢复;完整参数与当前 EMA、 +参考 loss、修正值会写入 checkpoint 中的 `loss_fn`。后续将由 Role D 的独立 +follow-up 把 `training_schedule` 接入固定种子评估 metadata。 + +### CLI 兼容性 + +```bash +# 原命令:语义不变 +python ct_train.py ... +python ct_train.py ... --mapping sigmoid +python ct_train.py ... --mapping const + +# 新入口 +python ct_train.py ... --schedule adaptive_v1 +# 同时接受连字符写法 adaptive-v1,内部统一记录为 adaptive_v1 + +# 显式关闭,严格恢复官方 fixed sigmoid +python ct_train.py ... --schedule sigmoid +``` + +`--schedule` 与 `--mapping` 指向同一个内部 `mapping` 字段,因此旧的配置 +传递、`loss_kwargs.adj` 和日志结构不会因参数改名而变化。不传 +两者时仍默认 `sigmoid`,不会创建 adaptive loss Collector 或改变官方 +stage 边界。 + +## 现有 run 配置下的 stage 行为(供对照) + +- `run_ecm.sh`:`tick=12.8, duration=25.6, double=250` → 共 2000 tick、 + stage 0..7,最终 `decay = 2^-8 = 1/256`。 +- `run_ecm_1hour.sh`:`-q 256 --double 10000` → 全程 stage 0, + `decay = 1/256`(直接锁定终点紧度)。 + +## 验证 + +```bash +python -m unittest tests.test_schedules tests.test_training_cli_compat -v +# 其中 2 个 ECMLoss.__call__ 端到端用例需 CUDA(A100 激活) +python -m training.schedules # 打印三种调度的 r/t 表 +``` diff --git a/results/adaptive_v1_activation_a100_cb84a934/README.md b/results/adaptive_v1_activation_a100_cb84a934/README.md new file mode 100644 index 00000000..a06b6fe5 --- /dev/null +++ b/results/adaptive_v1_activation_a100_cb84a934/README.md @@ -0,0 +1,53 @@ +# Adaptive v1 activation — clean A100 evidence + +This directory records the clean single-GPU activation validation of +`adaptive_v1` at commit `cb84a93454a91500d01433dd2d024d775fb275ef`, rerun +against the canonical CIFAR-10 archive +`08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372`. +It validates controller activation and checkpoint/CSV consistency; it is **not** +a fixed-vs-adaptive quality comparison, stability result, or baseline result. + +## Status + +| Property | Value | +| --- | --- | +| Evidence class | `formal_candidate` | +| Device | NVIDIA A100-PCIE-40GB (1 GPU) | +| Runtime | Python 3.9.18 / PyTorch 2.3.0 / CUDA 12.1 | +| Mode / schedule | `activation` / `adaptive_v1` | +| Duration / progress | 0.004 Mimg / 4.096 kimg | +| Dataset archive SHA-256 | `08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372` (canonical) | +| Attempted / successful / skipped | 32 / 23 / 9 | +| AMP | enabled; GradScaler state saved | +| Recorded training and packaging worktrees | clean, at `cb84a934...` | +| Loss finiteness | 0 NaN / 0 Inf in `train_summary.csv` | + +The Collector loaded both the latest network snapshot and training state and +passed the activation gate. The final controller state recorded eight signal +updates, first produced a nonzero correction at iteration 12, and first +affected a pair at iteration 13. The final row records +`next_loop_cur_tick=2`, matching the saved next-loop training-state tick. + +The console's initial maintenance report can display `loss nan` before the +statistics collector is updated. The packaged CSV records finite losses, and +the Collector's `nan_count` and `inf_count` are both zero. + +## Contents + +```text +results/adaptive_v1_activation_a100_cb84a934/ +├── README.md +├── metadata.json +└── train_summary.csv +``` + +The checkpoint, network snapshot, raw log, source dataset, and transfer pickle +remain outside Git. `metadata.json` records their original paths and SHA-256 +digests where applicable. + +## Local artifact hashes + +```text +c60c7c9b0086c663b92a4f61b3d7a79409dd48d64e563b49b947b8f2c272047f metadata.json +a052b55d7f04a49bfc1ea6f8689c4d57b1c6855e3cfb4095aa9cc42e8363f87c train_summary.csv +``` diff --git a/results/adaptive_v1_activation_a100_cb84a934/metadata.json b/results/adaptive_v1_activation_a100_cb84a934/metadata.json new file mode 100644 index 00000000..2e16fc13 --- /dev/null +++ b/results/adaptive_v1_activation_a100_cb84a934/metadata.json @@ -0,0 +1,57 @@ +{ + "activation_gate_applied": true, + "activation_gate_passed": true, + "attempted_iterations": 32, + "batch_gpu": 16, + "cuda_version": "12.1", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "duration_mimg": 0.004, + "evidence_class": "formal_candidate", + "exact_command": "python /mnt/ect_project/src/recurrence_of_ect-cb84a934-clean/ct_train.py --data=/root/ect-assets/cifar10-32x32-canonical-08c9ed1b2b1c.zip --outdir=/root/ect-runs/paired-training-v1/adaptive-v1-activation-cb84a934-20260720T153954Z --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=adaptive_v1 -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --duration=0.004", + "final_adaptive_active": true, + "final_grad_scale": 128.0, + "final_loss": 31.16120934, + "final_signal_updates": 8, + "first_adapted_pair_iteration": 13, + "first_loss": 15.9766382, + "first_nonzero_correction_iteration": 12, + "first_schedule_telemetry_iteration": 1, + "git_branch": "HEAD", + "git_commit": "cb84a93454a91500d01433dd2d024d775fb275ef", + "git_dirty": false, + "global_batch": 128, + "gpu_count": 1, + "gpu_name": "NVIDIA A100-PCIE-40GB", + "gradscaler_state_saved": true, + "inf_count": 0, + "initial_grad_scale": 65536.0, + "max_loss": 37.18239355, + "metrics_enabled": false, + "min_loss": 15.02455795, + "mode": "activation", + "nan_count": 0, + "network_snapshot": "/root/ect-runs/paired-training-v1/adaptive-v1-activation-cb84a934-20260720T153954Z/network-snapshot-latest.pkl", + "network_snapshot_sha256": "6908235f86468cd571ad0e574b6cba368d78977a82842d1a1a31625c11940ce7", + "packaging_git_branch": "HEAD", + "packaging_git_commit": "cb84a93454a91500d01433dd2d024d775fb275ef", + "packaging_git_dirty": false, + "peak_vram_mib": 5916.343296, + "peak_vram_source": "torch.cuda.max_memory_allocated", + "platform": "Linux-5.15.0-56-generic-x86_64-with-glibc2.35", + "processed_kimg": 4.096, + "python_version": "3.9.18", + "schedule": "adaptive_v1", + "schedule_telemetry_available": true, + "schedule_telemetry_columns_available": true, + "schedule_telemetry_coverage": 1.0, + "schedule_telemetry_rows": 32, + "schedule_telemetry_total_rows": 32, + "seed": 0, + "skipped_steps": 9, + "successful_optimizer_steps": 23, + "torch_version": "2.3.0", + "training_state": "/root/ect-runs/paired-training-v1/adaptive-v1-activation-cb84a934-20260720T153954Z/training-state-latest.pt", + "training_state_sha256": "274de4a97c5c0965ed39e3de66b743783309be4915e1ac28f3bcd5925e80a842", + "transfer_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "wall_time_seconds": 30.785647 +} diff --git a/results/adaptive_v1_activation_a100_cb84a934/train_summary.csv b/results/adaptive_v1_activation_a100_cb84a934/train_summary.csv new file mode 100644 index 00000000..95cd370f --- /dev/null +++ b/results/adaptive_v1_activation_a100_cb84a934/train_summary.csv @@ -0,0 +1,33 @@ +attempted_iteration,successful_optimizer_steps,processed_kimg,loss,grad_scale,step_skipped,schedule,stage,next_loop_cur_tick,loss_ema,loss_reference,correction,signal_updates,adaptive_active,r_over_t_mean,gap_mean,seconds,peak_vram_mib +1,0,0.128000,15.97663820,65536,true,adaptive_v1,0,1,,,0,0,0,0.985617611763,0.0143823882369,7.852284,5916.343296 +2,0,0.256000,15.02455795,32768,true,adaptive_v1,0,1,,,0,0,0,0.985632538854,0.0143674611461,9.081361,2136.822784 +3,0,0.384000,16.38218355,16384,true,adaptive_v1,0,1,,,0,0,0,0.985938287727,0.0140617122734,9.786533,2136.822784 +4,0,0.512000,17.54660499,8192,true,adaptive_v1,0,1,16.2324961722,,0,1,0,0.985108195351,0.0148918046487,10.498530,2136.822784 +5,0,0.640000,15.65527940,4096,true,adaptive_v1,0,1,16.2324961722,,0,1,0,0.986100688498,0.0138993115016,11.209856,2136.822784 +6,0,0.768000,16.49589241,2048,true,adaptive_v1,0,1,16.2324961722,,0,1,0,0.985309774022,0.0146902259784,11.915845,2136.822784 +7,0,0.896000,17.07062507,1024,true,adaptive_v1,0,1,16.2324961722,,0,1,0,0.985069129914,0.0149308700857,12.627249,2136.822784 +8,0,1.024000,17.72678792,512,true,adaptive_v1,0,1,16.2829611748,16.2829611748,0,2,0,0.984782394382,0.0152176056182,13.332530,2136.822784 +9,1,1.152000,15.91043890,256,false,adaptive_v1,0,1,16.2829611748,16.2829611748,0,2,0,0.985625582903,0.0143744170974,14.105501,2136.822784 +10,2,1.280000,16.55839896,256,false,adaptive_v1,0,1,16.2829611748,16.2829611748,0,2,0,0.985928909818,0.0140710901825,14.834592,2562.343936 +11,2,1.408000,30.67288423,256,true,adaptive_v1,0,1,16.2829611748,16.2829611748,0,2,0,0.985685323783,0.0143146762174,15.547024,2562.343936 +12,3,1.536000,27.70777225,128,false,adaptive_v1,0,1,16.9259024158,16.2829611748,-0.00193532770471,3,1,0.986457861945,0.0135421380545,16.267249,2562.343936 +13,4,1.664000,31.32968545,128,false,adaptive_v1,0,1,16.9259024158,16.2829611748,-0.00193532770471,3,1,0.983639638144,0.0163603618555,17.005765,2562.343936 +14,5,1.792000,32.67659473,128,false,adaptive_v1,0,1,16.9259024158,16.2829611748,-0.00193532770471,3,1,0.983124958749,0.0168750412506,17.727016,2562.343936 +15,6,1.920000,34.10626149,128,false,adaptive_v1,0,1,16.9259024158,16.2829611748,-0.00193532770471,3,1,0.982894543371,0.0171054566294,18.448091,2562.343936 +16,7,2.048000,37.18239355,128,false,adaptive_v1,0,1,18.6156855549,16.2829611748,-0.00665455090391,4,1,0.982258505989,0.0177414940113,19.171064,2562.343936 +17,8,2.176000,29.60441709,128,false,adaptive_v1,0,1,18.6156855549,16.2829611748,-0.00665455090391,4,1,0.979240572727,0.0207594272734,19.891001,2562.343936 +18,9,2.304000,28.97537351,128,false,adaptive_v1,0,1,18.6156855549,16.2829611748,-0.00665455090391,4,1,0.979330141848,0.0206698581519,20.613811,2562.343936 +19,10,2.432000,32.55057311,128,false,adaptive_v1,0,1,18.6156855549,16.2829611748,-0.00665455090391,4,1,0.978399716154,0.0216002838463,21.336881,2562.343936 +20,11,2.560000,31.69956326,128,false,adaptive_v1,0,1,19.8248651736,16.2829611748,-0.00971575561908,5,1,0.9787298788,0.0212701211997,22.069872,2562.343936 +21,12,2.688000,30.82976842,128,false,adaptive_v1,0,1,19.8248651736,16.2829611748,-0.00971575561908,5,1,0.976193786884,0.0238062131163,22.805247,2562.343936 +22,13,2.816000,35.03902245,128,false,adaptive_v1,0,1,19.8248651736,16.2829611748,-0.00971575561908,5,1,0.974988053881,0.0250119461186,23.530253,2562.343936 +23,14,2.944000,33.08703637,128,false,adaptive_v1,0,1,19.8248651736,16.2829611748,-0.00971575561908,5,1,0.975322056928,0.0246779430721,24.264193,2562.343936 +24,15,3.072000,31.51176167,128,false,adaptive_v1,0,1,21.1040683788,16.2829611748,-0.0126842142812,6,1,0.975633409659,0.0243665903406,24.990500,2562.343936 +25,16,3.200000,29.58900881,128,false,adaptive_v1,0,1,21.1040683788,16.2829611748,-0.0126842142812,6,1,0.97272625414,0.0272737458601,25.723222,2562.343936 +26,17,3.328000,29.42191505,128,false,adaptive_v1,0,1,21.1040683788,16.2829611748,-0.0126842142812,6,1,0.973360331036,0.0266396689639,26.449418,2562.343936 +27,18,3.456000,31.57292032,128,false,adaptive_v1,0,1,21.1040683788,16.2829611748,-0.0126842142812,6,1,0.972695896866,0.0273041031337,27.174141,2562.343936 +28,19,3.584000,33.80850625,128,false,adaptive_v1,0,1,22.1034703018,16.2829611748,-0.0148221508055,7,1,0.972018160537,0.0279818394625,27.895062,2562.343936 +29,20,3.712000,29.53680587,128,false,adaptive_v1,0,1,22.1034703018,16.2829611748,-0.0148221508055,7,1,0.971277421218,0.0287225787818,28.616322,2562.343936 +30,21,3.840000,31.85845685,128,false,adaptive_v1,0,1,22.1034703018,16.2829611748,-0.0148221508055,7,1,0.970399202625,0.0296007973747,29.343833,2562.343936 +31,22,3.968000,29.66158175,128,false,adaptive_v1,0,1,22.1034703018,16.2829611748,-0.0148221508055,7,1,0.970963642628,0.0290363573718,30.064818,2562.343936 +32,23,4.096000,31.16120934,128,false,adaptive_v1,0,2,22.948574617,16.2829611748,-0.0165137365832,8,1,0.97072027452,0.0292797254804,30.785647,2562.343936 diff --git a/scripts/collect_schedule_results.py b/scripts/collect_schedule_results.py index b14ffa71..a9c8ecef 100755 --- a/scripts/collect_schedule_results.py +++ b/scripts/collect_schedule_results.py @@ -22,6 +22,16 @@ from pathlib import Path +TELEMETRY_FIELDS = ( + "loss_ema", + "loss_reference", + "correction", + "signal_updates", + "adaptive_active", + "r_over_t_mean", + "gap_mean", +) + OUTPUT_FIELDS = ( "attempted_iteration", "successful_optimizer_steps", @@ -31,6 +41,8 @@ "step_skipped", "schedule", "stage", + "next_loop_cur_tick", + *TELEMETRY_FIELDS, "seconds", "peak_vram_mib", ) @@ -41,6 +53,9 @@ "baseline": 0.128, } +ACTIVATION_MIN_SIGNAL_UPDATES = 3 +ACTIVATION_MIN_FOLLOWING_ITERATIONS = 4 + def expected_final_nimg(duration_mimg: float, global_batch: int) -> int: """Match ct_train/ct_training_loop discrete batch completion. @@ -55,6 +70,66 @@ def expected_final_nimg(duration_mimg: float, global_batch: int) -> int: return math.ceil(target_nimg / global_batch) * global_batch +def adaptive_runtime_summary(packaged: list[dict]) -> dict: + """Derive auditable controller/pair activation boundaries from CSV rows. + + Telemetry is sampled at the end of an attempted iteration. Therefore, a + correction first observed in iteration N can first affect the pair drawn + for iteration N + 1, never the pair metrics recorded on iteration N. + """ + final_iteration = packaged[-1]["attempted_iteration"] + final_signal_updates = packaged[-1]["signal_updates"] + final_adaptive_active = packaged[-1]["adaptive_active"] + first_nonzero_correction_iteration = next( + ( + row["attempted_iteration"] for row in packaged + if row["correction"] is not None and row["correction"] != 0 + ), + None, + ) + first_adapted_pair_iteration = None + if first_nonzero_correction_iteration is not None: + candidate = first_nonzero_correction_iteration + 1 + if candidate <= final_iteration: + first_adapted_pair_iteration = candidate + return { + "final_signal_updates": final_signal_updates, + "final_adaptive_active": final_adaptive_active, + "first_nonzero_correction_iteration": first_nonzero_correction_iteration, + "first_adapted_pair_iteration": first_adapted_pair_iteration, + } + + +def enforce_adaptive_activation_gate(runtime_summary: dict, final_iteration: int) -> None: + """Require an activation run to exercise correction during training.""" + signal_updates = runtime_summary["final_signal_updates"] + if signal_updates is None or signal_updates < ACTIVATION_MIN_SIGNAL_UPDATES: + fail( + "activation gate: final_signal_updates must be " + f">= {ACTIVATION_MIN_SIGNAL_UPDATES}, got {signal_updates}" + ) + if runtime_summary["first_nonzero_correction_iteration"] is None: + fail("activation gate: first_nonzero_correction_iteration is required") + if runtime_summary["final_adaptive_active"] is not True: + fail("activation gate: final adaptive_active must be true") + + first_correction = runtime_summary["first_nonzero_correction_iteration"] + first_adapted_pair = runtime_summary["first_adapted_pair_iteration"] + if first_adapted_pair is None or first_adapted_pair >= final_iteration: + fail( + "activation gate: first_adapted_pair_iteration must be before " + f"final_iteration (correction={first_correction}, " + f"adapted_pair={first_adapted_pair}, final={final_iteration})" + ) + following_iterations = final_iteration - first_correction + if following_iterations < ACTIVATION_MIN_FOLLOWING_ITERATIONS: + fail( + "activation gate: nonzero correction must be followed by at least " + f"{ACTIVATION_MIN_FOLLOWING_ITERATIONS} attempted iterations " + f"(correction={first_correction}, final={final_iteration})" + ) + + def fail(message: str) -> None: raise SystemExit(f"[collect_schedule_results] ERROR: {message}") @@ -136,6 +211,40 @@ def parse_boolish(value: str) -> bool: return str(value).strip().lower() in {"1", "true", "yes"} +def parse_strict_bool(value: str | None, field: str) -> bool: + text = "" if value is None else str(value).strip().lower() + if text in {"1", "true"}: + return True + if text in {"0", "false"}: + return False + fail(f"{field} must be one of 0/1/false/true, got {value!r}") + + +def parse_finite_float(value: str | None, field: str) -> float: + text = "" if value is None else str(value).strip() + if text == "": + fail(f"{field} must not be empty") + try: + number = float(text) + except ValueError: + fail(f"{field} must be numeric, got {value!r}") + if not math.isfinite(number): + fail(f"{field} must be finite, got {value!r}") + return number + + +def parse_optional_float(value: str | None, field: str) -> float | None: + text = "" if value is None else str(value).strip() + return None if text == "" else parse_finite_float(text, field) + + +def parse_nonnegative_integer(value: str | None, field: str) -> int: + number = parse_finite_float(value, field) + if not number.is_integer() or number < 0: + fail(f"{field} must be a non-negative integer, got {value!r}") + return int(number) + + def load_rows(path: Path) -> list[dict]: if not path.is_file() or path.stat().st_size == 0: fail(f"train_summary.csv missing or empty: {path}") @@ -257,6 +366,111 @@ def extract_duration_from_command(exact_command: str) -> float | None: return None +def _state_integer(state: dict, key: str, training_state: Path) -> int: + try: + value = int(state[key]) + except (KeyError, TypeError, ValueError, OverflowError): + fail(f"training-state {key} must be an integer: {training_state}") + return value + + +def _state_optional_float(value, field: str, training_state: Path) -> float | None: + if value is None: + return None + try: + number = float(value) + except (TypeError, ValueError): + fail(f"training-state {field} must be numeric: {training_state}") + if not math.isfinite(number): + fail(f"training-state {field} must be finite: {training_state}") + return number + + +def validate_training_state_against_csv( + state: dict, + *, + training_state: Path, + last_csv_row: dict, + last_packaged_row: dict, + schedule: str, +) -> None: + """Fail closed when the checkpoint does not describe the final CSV row.""" + csv_nimg = int(float(last_csv_row["processed_nimg"])) + csv_attempted = int(float(last_csv_row["attempted_iteration"])) + csv_successful = int(float(last_csv_row["successful_optimizer_steps"])) + csv_elapsed = float(last_csv_row["elapsed_sec"]) + expected_progress = { + "cur_nimg": csv_nimg, + "attempted_iteration": csv_attempted, + "successful_optimizer_steps": csv_successful, + } + for key, expected in expected_progress.items(): + actual = _state_integer(state, key, training_state) + if actual != expected: + fail( + f"training-state {key} mismatch: state={actual} csv_last={expected} " + f"({training_state})" + ) + + state_elapsed = _state_optional_float(state["elapsed_sec"], "elapsed_sec", training_state) + if state_elapsed is None or not math.isclose(state_elapsed, csv_elapsed, rel_tol=0.0, abs_tol=1e-6): + fail( + f"training-state elapsed_sec mismatch: state={state_elapsed} csv_last={csv_elapsed} " + f"({training_state})" + ) + + # The training state persists the next-loop tick. The training loop records + # that authoritative value in the CSV instead of asking the collector to + # recreate maintenance timing from --tick and image count. + expected_cur_tick = parse_nonnegative_integer( + last_csv_row.get("next_loop_cur_tick"), "next_loop_cur_tick" + ) + actual_cur_tick = _state_integer(state, "cur_tick", training_state) + if actual_cur_tick != expected_cur_tick: + fail( + f"training-state cur_tick mismatch: state={actual_cur_tick} " + f"csv_last_next_loop={expected_cur_tick} ({training_state})" + ) + + if schedule != "adaptive_v1": + return + loss_fn_state = state.get("loss_fn_state") + if not isinstance(loss_fn_state, dict): + fail(f"adaptive training-state missing loss_fn_state: {training_state}") + if loss_fn_state.get("schedule_name") != schedule: + fail( + f"training-state schedule mismatch: state={loss_fn_state.get('schedule_name')!r} " + f"expected={schedule!r} ({training_state})" + ) + controller_state = loss_fn_state.get("schedule") + if not isinstance(controller_state, dict): + fail(f"adaptive training-state missing loss_fn_state.schedule: {training_state}") + + state_updates = _state_integer(controller_state, "signal_updates", training_state) + csv_updates = last_packaged_row["signal_updates"] + if state_updates != csv_updates: + fail( + f"training-state signal_updates mismatch: state={state_updates} " + f"csv_last={csv_updates} ({training_state})" + ) + for field in ("loss_ema", "loss_reference"): + state_value = _state_optional_float(controller_state.get(field), field, training_state) + csv_value = last_packaged_row[field] + if (state_value is None) != (csv_value is None): + fail( + f"training-state {field} mismatch: state={state_value} " + f"csv_last={csv_value} ({training_state})" + ) + if state_value is not None and not math.isclose( + # train_summary.csv writes controller floats with .12g precision. + state_value, csv_value, rel_tol=1e-11, abs_tol=1e-12 + ): + fail( + f"training-state {field} mismatch: state={state_value} " + f"csv_last={csv_value} ({training_state})" + ) + + def collect_runtime_metadata(run_meta: dict[str, str]) -> dict: meta = { "python_version": run_meta.get("python_version") or sys.version.split()[0], @@ -394,6 +608,12 @@ def main(argv: list[str] | None = None) -> None: csv_schedule = next(iter(schedules)) if csv_schedule != args.schedule: fail(f"CSV schedule={csv_schedule!r} != --schedule={args.schedule!r}") + telemetry_columns = [field in rows[0] for field in TELEMETRY_FIELDS] + if any(telemetry_columns) and not all(telemetry_columns): + fail("train_summary.csv has a partial schedule telemetry schema") + telemetry_columns_available = all(telemetry_columns) + if args.schedule == "adaptive_v1" and not telemetry_columns_available: + fail("adaptive_v1 train_summary.csv missing stable schedule telemetry columns") exact_command = extract_exact_command(command_meta, args.log, args.exact_command_file) cmd_schedule = extract_mapping_from_command(exact_command) @@ -413,6 +633,10 @@ def main(argv: list[str] | None = None) -> None: packaged: list[dict] = [] nan_count = 0 inf_count = 0 + previous_signal_updates = 0 + telemetry_started = False + telemetry_rows = 0 + first_telemetry_iteration = None for row in rows: loss = float(row["loss"]) @@ -428,6 +652,75 @@ def main(argv: list[str] | None = None) -> None: grad_scale = float(row["grad_scale"]) losses.append(loss) grad_scales.append(grad_scale) + telemetry = { + "loss_ema": None, + "loss_reference": None, + "correction": None, + "signal_updates": None, + "adaptive_active": None, + "r_over_t_mean": None, + "gap_mean": None, + } + row_has_telemetry = telemetry_columns_available and any( + str(row.get(field, "")).strip() for field in TELEMETRY_FIELDS + ) + if telemetry_columns_available and not row_has_telemetry: + if telemetry_started: + fail(f"schedule telemetry gap at attempted_iteration={row['attempted_iteration']}") + elif row_has_telemetry: + telemetry_started = True + telemetry_rows += 1 + if first_telemetry_iteration is None: + first_telemetry_iteration = int(float(row["attempted_iteration"])) + telemetry.update( + loss_ema=parse_optional_float(row["loss_ema"], "loss_ema"), + loss_reference=parse_optional_float(row["loss_reference"], "loss_reference"), + correction=parse_finite_float(row["correction"], "correction"), + signal_updates=parse_nonnegative_integer(row["signal_updates"], "signal_updates"), + adaptive_active=parse_strict_bool(row["adaptive_active"], "adaptive_active"), + r_over_t_mean=parse_finite_float(row["r_over_t_mean"], "r_over_t_mean"), + gap_mean=parse_finite_float(row["gap_mean"], "gap_mean"), + ) + if telemetry["signal_updates"] < previous_signal_updates: + fail("schedule signal_updates is not monotonic") + previous_signal_updates = telemetry["signal_updates"] + if not 0 <= telemetry["r_over_t_mean"] <= 1: + fail(f"r_over_t_mean must be in [0, 1], got {telemetry['r_over_t_mean']}") + if not 0 <= telemetry["gap_mean"] <= 1: + fail(f"gap_mean must be in [0, 1], got {telemetry['gap_mean']}") + if not math.isclose( + telemetry["r_over_t_mean"] + telemetry["gap_mean"], + 1.0, + rel_tol=0.0, + abs_tol=1e-6, + ): + fail(f"r_over_t_mean + gap_mean != 1 at attempted_iteration={row['attempted_iteration']}") + if telemetry["loss_reference"] is not None and telemetry["loss_ema"] is None: + fail("loss_reference requires loss_ema") + if telemetry["loss_ema"] is not None and telemetry["loss_ema"] <= 0: + fail(f"loss_ema must be > 0, got {telemetry['loss_ema']}") + if telemetry["loss_reference"] is not None and telemetry["loss_reference"] <= 0: + fail(f"loss_reference must be > 0, got {telemetry['loss_reference']}") + if telemetry["signal_updates"] == 0 and ( + telemetry["loss_ema"] is not None or telemetry["loss_reference"] is not None + ): + fail("signal_updates=0 requires empty loss_ema/loss_reference") + if telemetry["signal_updates"] > 0 and telemetry["loss_ema"] is None: + fail("positive signal_updates requires loss_ema") + if not telemetry["adaptive_active"] and telemetry["correction"] != 0: + fail("nonzero correction requires adaptive_active=true") + if telemetry["adaptive_active"] and ( + telemetry["signal_updates"] == 0 or telemetry["loss_reference"] is None + ): + fail("adaptive_active=true requires positive signal_updates and loss_reference") + if args.schedule != "adaptive_v1" and ( + telemetry["signal_updates"] != 0 + or telemetry["adaptive_active"] + or telemetry["correction"] != 0 + or telemetry["loss_ema"] is not None + ): + fail(f"fixed schedule {args.schedule!r} contains adaptive controller telemetry") + packaged.append( { "attempted_iteration": int(float(row["attempted_iteration"])), @@ -438,13 +731,24 @@ def main(argv: list[str] | None = None) -> None: "step_skipped": "true" if step_skipped else "false", "schedule": row.get("schedule", args.schedule), "stage": row.get("stage", ""), + "next_loop_cur_tick": row.get("next_loop_cur_tick", ""), + **telemetry, "seconds": float(row["elapsed_sec"]), "peak_vram_mib": peak_gb * 1024.0, } ) + if args.schedule == "adaptive_v1" and telemetry_rows == 0: + fail("adaptive_v1 train_summary.csv contains no populated schedule telemetry rows") + attempted = len(packaged) successful = attempted - skipped + for expected_iteration, row in enumerate(packaged, start=1): + if row["attempted_iteration"] != expected_iteration: + fail( + "attempted_iteration sequence mismatch: " + f"csv={row['attempted_iteration']} expected={expected_iteration}" + ) last_attempted = packaged[-1]["attempted_iteration"] last_successful = packaged[-1]["successful_optimizer_steps"] if last_attempted != attempted: @@ -472,6 +776,11 @@ def main(argv: list[str] | None = None) -> None: f"expected_nimg={expected_nimg}) for mode={args.mode}" ) + adaptive_runtime = adaptive_runtime_summary(packaged) + activation_gate_applied = args.mode == "activation" and args.schedule == "adaptive_v1" + if activation_gate_applied: + enforce_adaptive_activation_gate(adaptive_runtime, final_iteration=attempted) + if args.log is not None and args.log.is_file(): hits = [ line @@ -500,6 +809,13 @@ def main(argv: list[str] | None = None) -> None: for key in ("cur_nimg", "cur_tick", "attempted_iteration", "successful_optimizer_steps", "elapsed_sec"): if key not in state: fail(f"{key} missing in {training_state}") + validate_training_state_against_csv( + state, + training_state=training_state, + last_csv_row=rows[-1], + last_packaged_row=packaged[-1], + schedule=args.schedule, + ) print(f"[collect_schedule_results] loaded training-state: {training_state}") wall_time = None @@ -570,6 +886,15 @@ def main(argv: list[str] | None = None) -> None: "metrics_enabled": False, "mode": args.mode, "schedule": args.schedule, + "schedule_telemetry_columns_available": telemetry_columns_available, + "schedule_telemetry_available": telemetry_rows == len(packaged), + "schedule_telemetry_rows": telemetry_rows, + "schedule_telemetry_total_rows": len(packaged), + "schedule_telemetry_coverage": telemetry_rows / len(packaged), + "first_schedule_telemetry_iteration": first_telemetry_iteration, + **adaptive_runtime, + "activation_gate_applied": activation_gate_applied, + "activation_gate_passed": True if activation_gate_applied else None, "duration_mimg": args.duration_mimg, "evidence_class": evidence_class, **runtime, @@ -594,6 +919,14 @@ def main(argv: list[str] | None = None) -> None: "step_skipped": row["step_skipped"], "schedule": row["schedule"], "stage": row["stage"], + "next_loop_cur_tick": row["next_loop_cur_tick"], + "loss_ema": "" if row["loss_ema"] is None else f"{row['loss_ema']:.12g}", + "loss_reference": "" if row["loss_reference"] is None else f"{row['loss_reference']:.12g}", + "correction": "" if row["correction"] is None else f"{row['correction']:.12g}", + "signal_updates": "" if row["signal_updates"] is None else row["signal_updates"], + "adaptive_active": "" if row["adaptive_active"] is None else int(row["adaptive_active"]), + "r_over_t_mean": "" if row["r_over_t_mean"] is None else f"{row['r_over_t_mean']:.12g}", + "gap_mean": "" if row["gap_mean"] is None else f"{row['gap_mean']:.12g}", "seconds": f"{row['seconds']:.6f}", "peak_vram_mib": f"{row['peak_vram_mib']:.6f}", } diff --git a/tests/test_adaptive_signal_updates.py b/tests/test_adaptive_signal_updates.py new file mode 100644 index 00000000..ecc72f23 --- /dev/null +++ b/tests/test_adaptive_signal_updates.py @@ -0,0 +1,188 @@ +import csv +import tempfile +import unittest +from pathlib import Path + +import torch + +from training.ct_training_loop import ( + AdaptiveSignalWindow, + _LEGACY_TRAIN_SUMMARY_FIELDS, + _PRE_NEXT_LOOP_TICK_TRAIN_SUMMARY_FIELDS, + _TRAIN_SUMMARY_FIELDS, + adaptive_update_interval_nimg, + gather_adaptive_signal_window_state, + globally_average_runtime_pairs, + local_adaptive_signal_window_state, + load_and_migrate_train_summary, +) +from training.schedules import get_schedule + + +class AdaptiveSignalUpdatesTest(unittest.TestCase): + def test_default_interval_is_half_kimg(self): + self.assertEqual(adaptive_update_interval_nimg(0.5), 500) + + def test_updates_at_absolute_boundaries_not_maintenance_ticks(self): + window = AdaptiveSignalWindow(update_kimg=0.5, start_nimg=0) + window.add(loss_sum=12.0, loss_count=4) + self.assertIsNone(window.pop_if_due(cur_nimg=499)) + window.add(loss_sum=8.0, loss_count=2) + self.assertEqual(window.pop_if_due(cur_nimg=512), (20.0, 6)) + self.assertEqual(window.next_update_nimg, 1000) + + # A 50 kimg maintenance boundary has no special meaning here. + window.add(loss_sum=9.0, loss_count=3) + self.assertIsNone(window.pop_if_due(cur_nimg=999)) + self.assertEqual(window.pop_if_due(cur_nimg=1000), (9.0, 3)) + + def test_resume_uses_next_absolute_boundary(self): + window = AdaptiveSignalWindow(update_kimg=0.5, start_nimg=50_000) + self.assertEqual(window.next_update_nimg, 50_500) + + def test_resume_preserves_partial_window_loss_aggregation(self): + uninterrupted = AdaptiveSignalWindow(update_kimg=0.5) + uninterrupted.add(loss_sum=12.0, loss_count=4) + self.assertIsNone(uninterrupted.pop_if_due(cur_nimg=384)) + + resumed = AdaptiveSignalWindow(update_kimg=0.5, start_nimg=384) + checkpoint_state = gather_adaptive_signal_window_state( + uninterrupted, device=torch.device('cpu') + ) + self.assertEqual(checkpoint_state['next_update_nimg'], 500) + self.assertEqual(checkpoint_state['loss_sum'], 12.0) + self.assertEqual(checkpoint_state['loss_count'], 4) + resumed.load_state_dict(local_adaptive_signal_window_state(checkpoint_state)) + self.assertEqual(resumed.state_dict(), uninterrupted.state_dict()) + + uninterrupted.add(loss_sum=8.0, loss_count=2) + resumed.add(loss_sum=8.0, loss_count=2) + self.assertEqual(uninterrupted.pop_if_due(cur_nimg=512), (20.0, 6)) + self.assertEqual(resumed.pop_if_due(cur_nimg=512), (20.0, 6)) + self.assertEqual(resumed.state_dict(), uninterrupted.state_dict()) + + def test_interval_must_be_whole_positive_images(self): + for value in [0, -0.5, 0.0005, float('inf')]: + with self.subTest(value=value), self.assertRaises(ValueError): + adaptive_update_interval_nimg(value) + + def test_runtime_pair_metrics_average_without_schedule_internals(self): + metrics = globally_average_runtime_pairs( + [ + {'r_over_t_mean': 0.6, 'gap_mean': 0.4}, + {'r_over_t_mean': 0.8, 'gap_mean': 0.2}, + ], + device=torch.device('cpu'), + ) + self.assertAlmostEqual(metrics['r_over_t_mean'], 0.7) + self.assertAlmostEqual(metrics['gap_mean'], 0.3) + + def test_resume_migrates_exact_legacy_summary_schema(self): + with tempfile.TemporaryDirectory() as tmp: + summary_path = Path(tmp) / 'train_summary.csv' + legacy_row = { + 'attempted_iteration': '4', + 'successful_optimizer_steps': '4', + 'processed_nimg': '512', + 'processed_kimg': '0.512', + 'loss': '1.25', + 'grad_scale': '65536', + 'step_skipped': '0', + 'schedule': 'adaptive_v1', + 'stage': '0', + 'elapsed_sec': '2.0', + 'peak_vram_gb': '1.5', + } + with summary_path.open('w', newline='') as handle: + writer = csv.DictWriter(handle, fieldnames=_LEGACY_TRAIN_SUMMARY_FIELDS) + writer.writeheader() + writer.writerow(legacy_row) + + rows, backup_path = load_and_migrate_train_summary(summary_path) + self.assertEqual(backup_path, f'{summary_path}.pre-telemetry.bak') + self.assertTrue(Path(backup_path).is_file()) + with Path(backup_path).open(newline='') as handle: + self.assertEqual(tuple(csv.DictReader(handle).fieldnames), _LEGACY_TRAIN_SUMMARY_FIELDS) + with summary_path.open(newline='') as handle: + reader = csv.DictReader(handle) + migrated = next(reader) + self.assertEqual(tuple(reader.fieldnames), _TRAIN_SUMMARY_FIELDS) + for field in ( + 'loss_ema', 'loss_reference', 'correction', 'signal_updates', + 'adaptive_active', 'r_over_t_mean', 'gap_mean', 'next_loop_cur_tick', + ): + self.assertEqual(migrated[field], '') + self.assertEqual(rows[0][field], '') + + current_rows, second_backup = load_and_migrate_train_summary(summary_path) + self.assertIsNone(second_backup) + self.assertEqual(current_rows, rows) + + def test_resume_migrates_pre_next_loop_tick_schema(self): + with tempfile.TemporaryDirectory() as tmp: + summary_path = Path(tmp) / 'train_summary.csv' + row = {field: '' for field in _PRE_NEXT_LOOP_TICK_TRAIN_SUMMARY_FIELDS} + row.update( + attempted_iteration='4', successful_optimizer_steps='4', + processed_nimg='512', processed_kimg='0.512', loss='1.25', + grad_scale='65536', step_skipped='0', schedule='adaptive_v1', + stage='0', loss_ema='0.8', correction='0.02', + elapsed_sec='2.0', peak_vram_gb='1.5', + ) + with summary_path.open('w', newline='') as handle: + writer = csv.DictWriter( + handle, fieldnames=_PRE_NEXT_LOOP_TICK_TRAIN_SUMMARY_FIELDS + ) + writer.writeheader() + writer.writerow(row) + + rows, backup_path = load_and_migrate_train_summary(summary_path) + self.assertEqual(backup_path, f'{summary_path}.pre-next-loop-tick.bak') + self.assertEqual(rows[0]['next_loop_cur_tick'], '') + self.assertEqual(rows[0]['loss_ema'], '0.8') + self.assertEqual(rows[0]['correction'], '0.02') + with summary_path.open(newline='') as handle: + self.assertEqual( + tuple(csv.DictReader(handle).fieldnames), _TRAIN_SUMMARY_FIELDS + ) + + def test_resume_rejects_unknown_summary_schema(self): + with tempfile.TemporaryDirectory() as tmp: + summary_path = Path(tmp) / 'train_summary.csv' + with summary_path.open('w', newline='') as handle: + writer = csv.DictWriter(handle, fieldnames=('attempted_iteration', 'loss')) + writer.writeheader() + writer.writerow({'attempted_iteration': '1', 'loss': '1.0'}) + with self.assertRaisesRegex(RuntimeError, 'unsupported schema'): + load_and_migrate_train_summary(summary_path) + self.assertFalse(Path(f'{summary_path}.pre-telemetry.bak').exists()) + + def test_activation_budget_reaches_nonzero_correction_with_iterations_left(self): + batch_size = 128 + final_iteration = 4096 // batch_size + window = AdaptiveSignalWindow(update_kimg=0.5) + schedule = get_schedule('adaptive_v1', loss_ema_beta=0.0, warmup_updates=2) + first_nonzero_correction_iteration = None + + for attempted_iteration in range(1, final_iteration + 1): + window.add(loss_sum=1.0, loss_count=1) + if window.pop_if_due(attempted_iteration * batch_size) is not None: + # Finite improving signals make the first post-warmup + # correction observably nonzero. + schedule.update_training_signal(10.0 / (schedule.signal_updates + 1)) + if schedule.correction() != 0 and first_nonzero_correction_iteration is None: + # Signal processing follows optimizer.step(), so the + # correction affects the next attempted iteration. + first_nonzero_correction_iteration = attempted_iteration + 1 + + self.assertGreaterEqual(schedule.signal_updates, 3) + self.assertIsNotNone(first_nonzero_correction_iteration) + self.assertLess(first_nonzero_correction_iteration, final_iteration) + self.assertGreaterEqual( + final_iteration - first_nonzero_correction_iteration, + 4, + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_paired_training_infra.py b/tests/test_paired_training_infra.py index 673d4fcd..c9634872 100644 --- a/tests/test_paired_training_infra.py +++ b/tests/test_paired_training_infra.py @@ -4,6 +4,7 @@ from __future__ import annotations import csv +import json import os import subprocess import sys @@ -34,6 +35,8 @@ def write_minimal_run( git_head: str | None = None, data_path: Path | None = None, transfer_path: Path | None = None, + include_telemetry: bool = False, + next_loop_cur_tick: int = 2, ) -> None: import hashlib import math @@ -90,9 +93,7 @@ def _sha(path: Path | None, fallback: bytes) -> str: nimg = int(round(kimg * 1000)) loss = "nan" if include_nan else "1.25" with (run_dir / "train_summary.csv").open("w", newline="", encoding="utf-8") as handle: - writer = csv.DictWriter( - handle, - fieldnames=[ + fieldnames = [ "attempted_iteration", "successful_optimizer_steps", "processed_nimg", @@ -102,13 +103,23 @@ def _sha(path: Path | None, fallback: bytes) -> str: "step_skipped", "schedule", "stage", + "next_loop_cur_tick", "elapsed_sec", "peak_vram_gb", - ], - ) + ] + if include_telemetry: + fieldnames += [ + "loss_ema", + "loss_reference", + "correction", + "signal_updates", + "adaptive_active", + "r_over_t_mean", + "gap_mean", + ] + writer = csv.DictWriter(handle, fieldnames=fieldnames) writer.writeheader() - writer.writerow( - { + row = { "attempted_iteration": 1, "successful_optimizer_steps": 1, "processed_nimg": nimg, @@ -118,16 +129,126 @@ def _sha(path: Path | None, fallback: bytes) -> str: "step_skipped": 0, "schedule": schedule, "stage": 0, + "next_loop_cur_tick": next_loop_cur_tick, "elapsed_sec": "1.0", "peak_vram_gb": "1.5", } - ) + if include_telemetry: + row.update( + loss_ema="0.8", + loss_reference="1.0", + correction="0.02", + signal_updates="3", + adaptive_active="1", + r_over_t_mean="0.75", + gap_mean="0.25", + ) + writer.writerow(row) (run_dir / "network-snapshot-latest.pkl").write_bytes(b"not-a-real-pickle") # Minimal torch-free stand-in; collector tests skip torch.load via flag. (run_dir / "training-state-latest.pt").write_bytes(b"not-a-real-state") +def write_collector_training_state( + run_dir: Path, + *, + schedule: str, + cur_nimg: int = 16_000, + attempted_iteration: int = 1, + successful_optimizer_steps: int = 1, + elapsed_sec: float = 1.0, + cur_tick: int = 2, + signal_updates: int = 3, +) -> dict: + import torch + + state = { + "gradscaler_state": {"scale": 65536.0}, + "cur_nimg": cur_nimg, + "cur_tick": cur_tick, + "attempted_iteration": attempted_iteration, + "successful_optimizer_steps": successful_optimizer_steps, + "elapsed_sec": elapsed_sec, + "loss_fn_state": { + "schedule_name": schedule, + "stage": 0, + "ratio": 0.5, + "schedule": {}, + }, + } + if schedule == "adaptive_v1": + state["loss_fn_state"]["schedule"] = { + "loss_ema": 0.8, + "loss_reference": 1.0, + "signal_updates": signal_updates, + } + torch.save(state, run_dir / "training-state-latest.pt") + return state + + +def write_adaptive_activation_run( + run_dir: Path, + *, + data_path: Path, + transfer_path: Path, + final_signal_updates: int = 8, + first_nonzero_correction_iteration: int | None = 12, + final_adaptive_active: bool = True, +) -> None: + """Write a 32-iteration activation fixture with controller-state timing.""" + write_minimal_run( + run_dir, + schedule="adaptive_v1", + mode="activation", + duration=0.004, + data_path=data_path, + transfer_path=transfer_path, + include_telemetry=True, + ) + summary_path = run_dir / "train_summary.csv" + with summary_path.open(newline="", encoding="utf-8") as handle: + reader = csv.DictReader(handle) + fieldnames = reader.fieldnames + + rows = [] + for iteration in range(1, 33): + signal_updates = min(iteration // 4, final_signal_updates) + correction_active = ( + first_nonzero_correction_iteration is not None + and iteration >= first_nonzero_correction_iteration + and (iteration < 32 or final_adaptive_active) + ) + adaptive_active = signal_updates >= 3 and (iteration < 32 or final_adaptive_active) + rows.append( + { + "attempted_iteration": iteration, + "successful_optimizer_steps": iteration, + "processed_nimg": iteration * 128, + "processed_kimg": f"{iteration * 0.128:.6f}", + "loss": "1.25", + "grad_scale": "65536", + "step_skipped": "0", + "schedule": "adaptive_v1", + "stage": "0", + "next_loop_cur_tick": "1" if iteration < 32 else "2", + "elapsed_sec": f"{iteration / 10:.1f}", + "peak_vram_gb": "1.5", + "loss_ema": "0.8" if signal_updates else "", + "loss_reference": "1.0" if signal_updates else "", + "correction": "0.02" if correction_active else "0", + "signal_updates": str(signal_updates), + "adaptive_active": str(int(adaptive_active)), + "r_over_t_mean": "0.75", + "gap_mean": "0.25", + } + ) + with summary_path.open("w", newline="", encoding="utf-8") as handle: + writer = csv.DictWriter(handle, fieldnames=fieldnames) + writer.writeheader() + writer.writerows(rows) + + class RunnerInfraTests(unittest.TestCase): def test_bash_syntax(self): subprocess.check_call(["bash", "-n", str(RUNNER)]) @@ -388,6 +509,419 @@ def _assets(self, tmp: Path) -> tuple[Path, Path]: write_dummy_asset(transfer, b"transfer") return data, transfer + def _run_collector( + self, + run_dir: Path, + outdir: Path, + data: Path, + transfer: Path, + *, + schedule: str, + mode: str = "stability", + load_training_state: bool = False, + ) -> subprocess.CompletedProcess: + command = [ + sys.executable, + str(COLLECTOR), + "--run-dir", str(run_dir), + "--outdir", str(outdir), + "--data", str(data), + "--transfer", str(transfer), + "--mode", mode, + "--schedule", schedule, + "--allow-dirty", + "--skip-snapshot-load", + ] + if not load_training_state: + command.append("--skip-training-state-load") + return subprocess.run( + command, + cwd=REPO_ROOT, + capture_output=True, + text=True, + ) + + def test_adaptive_telemetry_is_validated_and_preserved(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run( + run_dir, + schedule="adaptive_v1", + data_path=data, + transfer_path=transfer, + include_telemetry=True, + ) + completed = subprocess.run( + [ + sys.executable, + str(COLLECTOR), + "--run-dir", str(run_dir), + "--outdir", str(outdir), + "--data", str(data), + "--transfer", str(transfer), + "--mode", "stability", + "--schedule", "adaptive_v1", + "--allow-dirty", + "--skip-snapshot-load", + "--skip-training-state-load", + ], + cwd=REPO_ROOT, + capture_output=True, + text=True, + ) + self.assertEqual(completed.returncode, 0, completed.stderr) + with (outdir / "train_summary.csv").open(newline="", encoding="utf-8") as handle: + packaged = next(csv.DictReader(handle)) + self.assertEqual(packaged["signal_updates"], "3") + self.assertEqual(packaged["adaptive_active"], "1") + self.assertEqual(packaged["r_over_t_mean"], "0.75") + self.assertEqual(packaged["next_loop_cur_tick"], "2") + metadata = json.loads((outdir / "metadata.json").read_text(encoding="utf-8")) + self.assertTrue(metadata["schedule_telemetry_available"]) + self.assertEqual(metadata["final_signal_updates"], 3) + self.assertEqual(metadata["first_nonzero_correction_iteration"], 1) + + def test_training_state_must_match_final_csv_and_adaptive_telemetry(self): + cases = [ + ( + "cur_nimg", + lambda state: state.update(cur_nimg=15_872), + "training-state cur_nimg mismatch", + ), + ( + "attempted_iteration", + lambda state: state.update(attempted_iteration=2), + "training-state attempted_iteration mismatch", + ), + ( + "successful_optimizer_steps", + lambda state: state.update(successful_optimizer_steps=0), + "training-state successful_optimizer_steps mismatch", + ), + ( + "elapsed_sec", + lambda state: state.update(elapsed_sec=2.0), + "training-state elapsed_sec mismatch", + ), + ( + "cur_tick", + lambda state: state.update(cur_tick=3), + "training-state cur_tick mismatch", + ), + ( + "signal_updates", + lambda state: state["loss_fn_state"]["schedule"].update(signal_updates=2), + "training-state signal_updates mismatch", + ), + ( + "loss_ema", + lambda state: state["loss_fn_state"]["schedule"].update(loss_ema=0.7), + "training-state loss_ema mismatch", + ), + ( + "loss_reference", + lambda state: state["loss_fn_state"]["schedule"].update(loss_reference=1.1), + "training-state loss_reference mismatch", + ), + ] + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + data, transfer = self._assets(tmp_path) + for name, mutate, error in cases: + with self.subTest(name=name): + run_dir = tmp_path / f"run-{name}" + outdir = tmp_path / f"out-{name}" + write_minimal_run( + run_dir, + schedule="adaptive_v1", + data_path=data, + transfer_path=transfer, + include_telemetry=True, + ) + state = write_collector_training_state(run_dir, schedule="adaptive_v1") + mutate(state) + import torch + + torch.save(state, run_dir / "training-state-latest.pt") + completed = self._run_collector( + run_dir, + outdir, + data, + transfer, + schedule="adaptive_v1", + load_training_state=True, + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn(error, completed.stderr) + + def test_matching_training_state_is_accepted(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run( + run_dir, + schedule="adaptive_v1", + data_path=data, + transfer_path=transfer, + include_telemetry=True, + ) + write_collector_training_state(run_dir, schedule="adaptive_v1") + completed = self._run_collector( + run_dir, + outdir, + data, + transfer, + schedule="adaptive_v1", + load_training_state=True, + ) + self.assertEqual(completed.returncode, 0, completed.stderr) + + def test_baseline_training_state_uses_recorded_tick_not_tick_formula(self): + # With batch=128 and default --tick=50 kimg, real maintenance runs at + # 0.128, 50.176, 100.224, and 128 kimg. The final checkpoint therefore + # persists cur_tick=4, whereas the removed ceil-based formula gives 3. + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run( + run_dir, + schedule="adaptive_v1", + mode="baseline", + duration=0.128, + data_path=data, + transfer_path=transfer, + include_telemetry=True, + next_loop_cur_tick=4, + ) + write_collector_training_state( + run_dir, + schedule="adaptive_v1", + cur_nimg=128_000, + cur_tick=4, + ) + completed = self._run_collector( + run_dir, + outdir, + data, + transfer, + schedule="adaptive_v1", + mode="baseline", + load_training_state=True, + ) + self.assertEqual(completed.returncode, 0, completed.stderr) + with (outdir / "train_summary.csv").open(newline="", encoding="utf-8") as handle: + self.assertEqual(next(csv.DictReader(handle))["next_loop_cur_tick"], "4") + + def test_adaptive_activation_gate_records_controller_and_pair_boundaries(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_adaptive_activation_run( + run_dir, + data_path=data, + transfer_path=transfer, + ) + write_collector_training_state( + run_dir, + schedule="adaptive_v1", + cur_nimg=4_096, + attempted_iteration=32, + successful_optimizer_steps=32, + elapsed_sec=3.2, + cur_tick=2, + signal_updates=8, + ) + completed = self._run_collector( + run_dir, outdir, data, transfer, + schedule="adaptive_v1", mode="activation", + load_training_state=True, + ) + self.assertEqual(completed.returncode, 0, completed.stderr) + with (run_dir / "train_summary.csv").open(newline="", encoding="utf-8") as handle: + self.assertEqual(list(csv.DictReader(handle))[-1]["next_loop_cur_tick"], "2") + metadata = json.loads((outdir / "metadata.json").read_text(encoding="utf-8")) + self.assertEqual(metadata["final_signal_updates"], 8) + self.assertTrue(metadata["final_adaptive_active"]) + self.assertEqual(metadata["first_nonzero_correction_iteration"], 12) + self.assertEqual(metadata["first_adapted_pair_iteration"], 13) + self.assertTrue(metadata["activation_gate_applied"]) + self.assertTrue(metadata["activation_gate_passed"]) + + def test_adaptive_activation_gate_rejects_nonactivated_or_late_controller(self): + cases = [ + ( + dict(final_signal_updates=2, first_nonzero_correction_iteration=None), + "final_signal_updates must be >= 3", + ), + ( + dict(first_nonzero_correction_iteration=None), + "first_nonzero_correction_iteration is required", + ), + ( + dict(final_adaptive_active=False), + "final adaptive_active must be true", + ), + ( + dict(first_nonzero_correction_iteration=31), + "first_adapted_pair_iteration must be before final_iteration", + ), + ( + dict(first_nonzero_correction_iteration=29), + "at least 4 attempted iterations", + ), + ] + for fixture_kwargs, expected_error in cases: + with self.subTest(fixture_kwargs=fixture_kwargs), tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_adaptive_activation_run( + run_dir, + data_path=data, + transfer_path=transfer, + **fixture_kwargs, + ) + completed = self._run_collector( + run_dir, outdir, data, transfer, + schedule="adaptive_v1", mode="activation", + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn(expected_error, completed.stderr) + + def test_adaptive_telemetry_rejects_invalid_types_and_ranges(self): + cases = [ + ({"signal_updates": "3.5"}, "non-negative integer"), + ({"adaptive_active": "maybe"}, "must be one of"), + ({"correction": "nan"}, "must be finite"), + ({"r_over_t_mean": "1.1", "gap_mean": "-0.1"}, "must be in [0, 1]"), + ] + for changes, expected_error in cases: + with self.subTest(changes=changes), tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run( + run_dir, + schedule="adaptive_v1", + data_path=data, + transfer_path=transfer, + include_telemetry=True, + ) + summary_path = run_dir / "train_summary.csv" + with summary_path.open(newline="", encoding="utf-8") as handle: + reader = csv.DictReader(handle) + fieldnames = reader.fieldnames + row = next(reader) + row.update(changes) + with summary_path.open("w", newline="", encoding="utf-8") as handle: + writer = csv.DictWriter(handle, fieldnames=fieldnames) + writer.writeheader() + writer.writerow(row) + + completed = self._run_collector( + run_dir, outdir, data, transfer, schedule="adaptive_v1" + ) + self.assertNotEqual(completed.returncode, 0) + self.assertIn(expected_error, completed.stderr) + + def test_adaptive_warmup_telemetry_allows_missing_reference(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run( + run_dir, + schedule="adaptive_v1", + data_path=data, + transfer_path=transfer, + include_telemetry=True, + ) + summary_path = run_dir / "train_summary.csv" + with summary_path.open(newline="", encoding="utf-8") as handle: + reader = csv.DictReader(handle) + fieldnames = reader.fieldnames + row = next(reader) + row.update( + loss_reference="", + correction="0", + signal_updates="1", + adaptive_active="0", + ) + with summary_path.open("w", newline="", encoding="utf-8") as handle: + writer = csv.DictWriter(handle, fieldnames=fieldnames) + writer.writeheader() + writer.writerow(row) + + completed = self._run_collector( + run_dir, outdir, data, transfer, schedule="adaptive_v1" + ) + self.assertEqual(completed.returncode, 0, completed.stderr) + + def test_migrated_telemetry_prefix_is_auditable_not_fabricated(self): + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + run_dir = tmp_path / "run" + outdir = tmp_path / "out" + data, transfer = self._assets(tmp_path) + write_minimal_run( + run_dir, + schedule="adaptive_v1", + data_path=data, + transfer_path=transfer, + include_telemetry=True, + ) + summary_path = run_dir / "train_summary.csv" + with summary_path.open(newline="", encoding="utf-8") as handle: + reader = csv.DictReader(handle) + fieldnames = reader.fieldnames + final_row = next(reader) + historical_row = dict(final_row) + historical_row.update( + attempted_iteration="1", + successful_optimizer_steps="1", + processed_nimg="128", + processed_kimg="0.128", + elapsed_sec="0.1", + ) + for field in ( + "loss_ema", "loss_reference", "correction", "signal_updates", + "adaptive_active", "r_over_t_mean", "gap_mean", + ): + historical_row[field] = "" + final_row.update(attempted_iteration="2", successful_optimizer_steps="2") + with summary_path.open("w", newline="", encoding="utf-8") as handle: + writer = csv.DictWriter(handle, fieldnames=fieldnames) + writer.writeheader() + writer.writerows([historical_row, final_row]) + + completed = self._run_collector( + run_dir, outdir, data, transfer, schedule="adaptive_v1" + ) + self.assertEqual(completed.returncode, 0, completed.stderr) + metadata = json.loads((outdir / "metadata.json").read_text(encoding="utf-8")) + self.assertTrue(metadata["schedule_telemetry_columns_available"]) + self.assertFalse(metadata["schedule_telemetry_available"]) + self.assertEqual(metadata["schedule_telemetry_rows"], 1) + self.assertEqual(metadata["schedule_telemetry_total_rows"], 2) + self.assertEqual(metadata["schedule_telemetry_coverage"], 0.5) + self.assertEqual(metadata["first_schedule_telemetry_iteration"], 2) + with (outdir / "train_summary.csv").open(newline="", encoding="utf-8") as handle: + packaged = list(csv.DictReader(handle)) + self.assertEqual(packaged[0]["signal_updates"], "") + self.assertEqual(packaged[1]["signal_updates"], "3") + def test_missing_csv_fails(self): with tempfile.TemporaryDirectory() as tmp: tmp_path = Path(tmp) diff --git a/tests/test_schedules.py b/tests/test_schedules.py new file mode 100644 index 00000000..95bd1d71 --- /dev/null +++ b/tests/test_schedules.py @@ -0,0 +1,415 @@ +import contextlib +import io +import pickle +import unittest + +import torch + +from training import schedules +from training.loss import ECMLoss +from training.schedules import compute_r, continuous_stage, get_schedule + +# LogNormal(P_mean, P_std) noise levels, as sampled by ECMLoss.__call__. +P_MEAN = -1.1 +P_STD = 2.0 + + +def sample_t(n=512, dtype=torch.float32, seed=0, device='cpu'): + generator = torch.Generator().manual_seed(seed) + rnd_normal = torch.randn([n, 1, 1, 1], generator=generator, dtype=torch.float64) + return (rnd_normal * P_STD + P_MEAN).exp().to(dtype=dtype, device=device) + + +def devices(): + """cpu always; cuda too when available (i.e. on the A100 server).""" + return ['cpu'] + (['cuda'] if torch.cuda.is_available() else []) + + +def make_loss(adj, q=2.0, k=8.0, b=1.0, **kwargs): + with contextlib.redirect_stdout(io.StringIO()): # silence dist.print0 + return ECMLoss(q=q, k=k, b=b, adj=adj, **kwargs) + + +def official_t_to_r(adj, t, stage, q=2.0, k=8.0, b=1.0): + """Reference output from the untouched official formulas in + training/loss.py (t_to_r_const / t_to_r_sigmoid), NOT from the schedule + dispatch, so the parity anchor stays independent of schedules.py.""" + loss_fn = make_loss(adj, q=q, k=k, b=b) + loss_fn.update_schedule(stage) + reference = {'const': loss_fn.t_to_r_const, 'sigmoid': loss_fn.t_to_r_sigmoid}[adj] + return reference(t) + + +class OfficialFormulaParityTest(unittest.TestCase): + """'const' and 'sigmoid' must reproduce training/loss.py bit-for-bit.""" + + def test_bitwise_parity_with_ecm_loss(self): + for device in devices(): + for adj in ['const', 'sigmoid']: + for q, k, b in [(2.0, 8.0, 1.0), (256.0, 8.0, 1.0), (4.0, 4.0, 2.0)]: + for stage in [0, 1, 3, 7]: + for dtype in [torch.float32, torch.float64]: + with self.subTest(device=device, adj=adj, q=q, k=k, b=b, stage=stage, dtype=dtype): + t = sample_t(dtype=dtype, device=device) + expected = official_t_to_r(adj, t, stage, q=q, k=k, b=b) + via_object = get_schedule(adj, q=q, k=k, b=b).compute_r(t=t, stage=stage) + via_function = compute_r(t=t, stage=stage, schedule=adj, q=q, k=k, b=b) + self.assertTrue(torch.equal(via_object, expected)) + self.assertTrue(torch.equal(via_function, expected)) + + def test_const_stage0_halves_t_exactly(self): + # q=2, stage=0: decay = 1/2, so r = t/2 with no clamping. + t = sample_t() + r = compute_r(t=t, stage=0, schedule='const', q=2.0) + self.assertTrue(torch.equal(r, t * 0.5)) + + def test_sigmoid_clamps_small_t_to_zero_at_stage0(self): + # q=2, stage=0: decay = 1/2 and n(t) -> 1 + k/2 = 5 as t -> 0, so + # ratio < 0 and r must clamp to 0 (diffusion-pretraining regime). + t = torch.full([8, 1, 1, 1], 1e-4) + r = compute_r(t=t, stage=0, schedule='sigmoid', q=2.0, k=8.0, b=1.0) + self.assertTrue(torch.equal(r, torch.zeros_like(t))) + + def test_r_is_nonnegative_and_strictly_below_t(self): + t = sample_t() + for name in schedules.available_schedules(): + for stage in [0, 2, 5]: + with self.subTest(schedule=name, stage=stage): + r = compute_r(t=t, stage=stage, schedule=name, q=2.0) + self.assertTrue((r >= 0).all()) + self.assertTrue((r < t).all()) + + def test_shape_and_dtype_preserved(self): + for dtype in [torch.float32, torch.float64]: + t = sample_t(dtype=dtype) + r = compute_r(t=t, stage=2, schedule='sigmoid') + self.assertEqual(r.shape, t.shape) + self.assertEqual(r.dtype, t.dtype) + + +class AdaptiveV1Test(unittest.TestCase): + def test_without_signal_is_official_sigmoid_bitwise(self): + for device in devices(): + for q in [2.0, 256.0]: + for stage in [0, 1, 3, 7]: + with self.subTest(device=device, q=q, stage=stage): + t = sample_t(device=device) + expected = official_t_to_r('sigmoid', t, stage, q=q) + adaptive = get_schedule('adaptive_v1', q=q) + actual = adaptive.compute_r(t=t, stage=stage) + self.assertTrue(torch.equal(actual, expected)) + + def test_loss_improvement_tightens_gap_with_bounded_correction(self): + t = sample_t() + adaptive = get_schedule( + 'adaptive_v1', q=2.0, loss_ema_beta=0.0, + max_adjust=0.1, min_gap=0.01, + ) + baseline = get_schedule('sigmoid', q=2.0) + adaptive.update_training_signal(10.0) + adaptive.update_training_signal(5.0) + adaptive.update_training_signal(2.5) + base_r = baseline.compute_r(t=t, stage=2) + adaptive_r = adaptive.compute_r(t=t, stage=2) + self.assertTrue((adaptive_r >= base_r).all()) + self.assertLessEqual(adaptive.correction(), 0.1) + self.assertTrue((adaptive_r / t <= 0.99).all()) + + def test_loss_worsening_widens_gap(self): + t = sample_t() + adaptive = get_schedule('adaptive_v1', loss_ema_beta=0.0, max_adjust=0.1) + baseline = get_schedule('sigmoid') + adaptive.update_training_signal(10.0) + adaptive.update_training_signal(20.0) + adaptive.update_training_signal(40.0) + self.assertLess(adaptive.correction(), 0) + self.assertTrue((adaptive.compute_r(t=t, stage=2) <= baseline.compute_r(t=t, stage=2)).all()) + + def test_warmup_establishes_reference_before_enabling_correction(self): + adaptive = get_schedule('adaptive_v1', loss_ema_beta=0.0, warmup_updates=2) + baseline = get_schedule('sigmoid') + t = sample_t() + adaptive.update_training_signal(10.0) + self.assertIsNone(adaptive.loss_reference) + self.assertTrue(torch.equal(adaptive.compute_r(t=t, stage=2), baseline.compute_r(t=t, stage=2))) + adaptive.update_training_signal(5.0) + self.assertEqual(adaptive.loss_reference, adaptive.loss_ema) + self.assertEqual(adaptive.loss_reference, 5.0) + self.assertEqual(adaptive.correction(), 0.0) + self.assertTrue(torch.equal(adaptive.compute_r(t=t, stage=2), baseline.compute_r(t=t, stage=2))) + adaptive.update_training_signal(2.5) + self.assertGreater(adaptive.correction(), 0.0) + + def test_min_gap_only_applies_after_correction_is_active(self): + t = torch.tensor([10.0]) + baseline = get_schedule('sigmoid', q=256.0) + expected = baseline.compute_r(t=t, stage=0) + inactive = get_schedule('adaptive_v1', q=256.0, min_gap=0.1) + self.assertTrue(torch.equal(inactive.compute_r(t=t, stage=0), expected)) + + active = get_schedule('adaptive_v1', q=256.0, loss_ema_beta=0.0, + warmup_updates=0, min_gap=0.1) + active.update_training_signal(10.0) # delta is zero, but correction is active. + self.assertEqual(active.correction(), 0.0) + self.assertTrue(torch.equal( + active.compute_r(t=t, stage=0), + torch.minimum(expected, t * 0.9), + )) + + def test_output_is_finite_bounded_and_deterministic(self): + t = torch.tensor([0.0, 1e-12, 0.1, 1.0, 80.0, float('inf'), float('nan')]) + first = get_schedule('adaptive_v1', loss_ema_beta=0.5) + second = get_schedule('adaptive_v1', loss_ema_beta=0.5) + for loss in [10.0, 8.0, 6.0]: + self.assertEqual(first.update_training_signal(loss), second.update_training_signal(loss)) + r_first = first.compute_r(t=t, stage=3) + r_second = second.compute_r(t=t, stage=3) + self.assertTrue(torch.equal(r_first, r_second)) + self.assertTrue(torch.isfinite(r_first).all()) + self.assertTrue((r_first >= 0).all()) + finite_t = torch.isfinite(t) & (t >= 0) + self.assertTrue((r_first[finite_t] <= t[finite_t]).all()) + + unusual_k = get_schedule('adaptive_v1', k=-100.0) + for loss in [10.0, 8.0, 6.0]: + unusual_k.update_training_signal(loss) + unusual_r = unusual_k.compute_r(t=t, stage=3) + self.assertTrue(torch.isfinite(unusual_r).all()) + self.assertTrue((unusual_r[finite_t] <= t[finite_t]).all()) + + huge_stage_r = first.compute_r(t=t, stage=1e308) + self.assertTrue(torch.isfinite(huge_stage_r).all()) + self.assertTrue((huge_stage_r[finite_t] <= t[finite_t]).all()) + + def test_nonfinite_loss_signal_is_ignored(self): + adaptive = get_schedule('adaptive_v1') + for loss in [float('nan'), float('inf'), -1.0]: + self.assertFalse(adaptive.update_training_signal(loss)) + self.assertIsNone(adaptive.loss_ema) + self.assertEqual(adaptive.correction(), 0.0) + + def test_invalid_adaptive_parameters_are_rejected(self): + invalid_kwargs = [ + {'loss_ema_beta': 1.0}, + {'max_adjust': -0.1}, + {'min_gap': 0.0}, + {'warmup_updates': -1}, + {'warmup_updates': 1.5}, + {'warmup_updates': float('inf')}, + {'k': float('nan')}, + ] + for kwargs in invalid_kwargs: + with self.subTest(kwargs=kwargs), self.assertRaises(ValueError): + get_schedule('adaptive_v1', **kwargs) + + def test_zero_max_adjust_restores_official_formula_after_updates(self): + t = sample_t() + adaptive = get_schedule('adaptive_v1', max_adjust=0.0) + adaptive.update_training_signal(10.0) + adaptive.update_training_signal(1.0) + expected = get_schedule('sigmoid').compute_r(t=t, stage=5) + self.assertTrue(torch.equal(adaptive.compute_r(t=t, stage=5), expected)) + + def test_state_round_trip_preserves_output(self): + t = sample_t() + source = get_schedule('adaptive_v1', loss_ema_beta=0.8) + for loss in [10.0, 9.0, 7.0]: + source.update_training_signal(loss) + clone = get_schedule('adaptive_v1', loss_ema_beta=0.8) + clone.load_state_dict(source.state_dict()) + self.assertEqual(clone.metadata(), source.metadata()) + self.assertTrue(torch.equal(clone.compute_r(t=t, stage=2), source.compute_r(t=t, stage=2))) + + def test_negative_stage_rejected(self): + with self.assertRaises(ValueError): + compute_r(t=sample_t(), stage=-0.5, schedule='adaptive_v1') + + def test_continuous_stage_helper(self): + self.assertEqual(continuous_stage(cur_tick=125, double_ticks=250), 0.5) + self.assertEqual(continuous_stage(cur_tick=500, double_ticks=250), 2.0) + with self.assertRaises(ValueError): + continuous_stage(cur_tick=1, double_ticks=0) + + +class InterfaceTest(unittest.TestCase): + def test_documented_call_forms_agree(self): + t = sample_t() + schedule = get_schedule('sigmoid', q=256, k=8, b=1) + r_object = schedule.compute_r(t=t, stage=1) + r_function = compute_r(t=t, stage=1, schedule='sigmoid', q=256, k=8, b=1) + self.assertTrue(torch.equal(r_object, r_function)) + + def test_stateful_ecm_loss_style_interface(self): + t = sample_t() + schedule = get_schedule('sigmoid') + schedule.update_schedule(3) + self.assertTrue(torch.equal(schedule.t_to_r(t), schedule.compute_r(t=t, stage=3))) + + def test_scalar_input_is_converted_to_tensor(self): + r = compute_r(t=2.0, stage=0, schedule='const', q=2.0) + self.assertIsInstance(r, torch.Tensor) + self.assertAlmostEqual(float(r), 1.0) + + def test_available_schedules(self): + self.assertEqual(schedules.available_schedules(), ['adaptive_v1', 'const', 'sigmoid']) + + def test_unknown_schedule_rejected(self): + with self.assertRaises(ValueError): + get_schedule('cosine') + with self.assertRaises(ValueError): + compute_r(t=sample_t(), stage=0, schedule='cosine') + + def test_invalid_q_rejected(self): + with self.assertRaises(ValueError): + get_schedule('const', q=1.0) + + +class ECMLossIntegrationTest(unittest.TestCase): + """ECMLoss now dispatches t->r through training/schedules.py; the wired + entry must be indistinguishable from the official reference formulas.""" + + def test_loss_holds_matching_schedule_instance(self): + for adj, cls in [('const', schedules.ConstSchedule), + ('sigmoid', schedules.SigmoidSchedule), + ('adaptive_v1', schedules.AdaptiveV1Schedule)]: + with self.subTest(adj=adj): + self.assertIsInstance(make_loss(adj).schedule, cls) + + def test_wired_entry_matches_official_reference_bitwise(self): + for adj in ['const', 'sigmoid']: + for stage in [0, 2, 5]: + with self.subTest(adj=adj, stage=stage): + loss_fn = make_loss(adj, q=2.0, k=8.0, b=1.0) + loss_fn.update_schedule(stage) + t = sample_t() + reference = getattr(loss_fn, f't_to_r_{adj}')(t) + wired = loss_fn.schedule.compute_r(t=t, stage=loss_fn.stage) + self.assertTrue(torch.equal(wired, reference)) + + def test_loss_hyperparams_reach_the_schedule(self): + loss_fn = make_loss('sigmoid', q=256.0, k=4.0, b=2.0) + self.assertEqual((loss_fn.schedule.q, loss_fn.schedule.k, loss_fn.schedule.b), (256.0, 4.0, 2.0)) + + def test_adaptive_hyperparams_reach_schedule_metadata(self): + loss_fn = make_loss( + 'adaptive_v1', adaptive_loss_ema_beta=0.8, + adaptive_warmup_updates=3, adaptive_max_adjust=0.04, adaptive_min_gap=0.002, + ) + metadata = loss_fn.schedule_metadata() + self.assertEqual(metadata['name'], 'adaptive_v1') + self.assertTrue(metadata['enabled']) + self.assertEqual(metadata['signal'], 'loss_ema') + self.assertEqual(metadata['loss_ema_beta'], 0.8) + self.assertEqual(metadata['warmup_updates'], 3) + self.assertEqual(metadata['max_adjust'], 0.04) + self.assertEqual(metadata['min_gap'], 0.002) + + def test_schedule_runtime_metrics_has_stable_contract(self): + required = { + 'loss_ema', 'loss_reference', 'correction', 'signal_updates', + 'adaptive_active', 'r_over_t_mean', 'gap_mean', + } + fixed = make_loss('sigmoid') + fixed_metrics = fixed.schedule_runtime_metrics() + self.assertEqual(set(fixed_metrics), required) + self.assertIsNone(fixed_metrics['loss_ema']) + self.assertFalse(fixed_metrics['adaptive_active']) + + adaptive = make_loss('adaptive_v1', adaptive_loss_ema_beta=0.0, + adaptive_warmup_updates=2) + for loss in [10.0, 5.0, 2.5]: + adaptive.update_training_signal(loss) + adaptive_metrics = adaptive.schedule_runtime_metrics() + self.assertEqual(set(adaptive_metrics), required) + self.assertEqual(adaptive_metrics['signal_updates'], 3) + self.assertTrue(adaptive_metrics['adaptive_active']) + self.assertGreater(adaptive_metrics['correction'], 0) + + def test_schedule_runtime_pair_means_match_realized_t_and_r(self): + loss_fn = make_loss('sigmoid') + t = torch.tensor([1.0, 2.0], dtype=torch.float64) + r = torch.tensor([0.5, 1.5], dtype=torch.float64) + loss_fn._record_schedule_runtime_pair(t=t, r=r) + metrics = loss_fn.schedule_runtime_metrics() + self.assertEqual(metrics['r_over_t_mean'], 0.625) + self.assertEqual(metrics['gap_mean'], 0.375) + + def test_unknown_adj_still_raises_value_error(self): + with self.assertRaises(ValueError): + make_loss('cosine') + + def test_update_schedule_keeps_ratio_for_loop_logging(self): + # ct_training_loop.py:257 logs loss_fn.ratio; the contract must hold. + loss_fn = make_loss('sigmoid', q=2.0) + loss_fn.update_schedule(3) + self.assertEqual(loss_fn.ratio, 1 - 1 / 2.0 ** 4) + self.assertEqual(loss_fn.schedule.stage, 3) + + def test_loss_fn_pickles_with_schedule(self): + # Training snapshots pickle loss_fn (ct_training_loop.py:340); the + # schedule attribute must round-trip through persistence. + loss_fn = make_loss('adaptive_v1', q=2.0) + loss_fn.update_schedule(2) + loss_fn.update_training_signal(10.0) + loss_fn.update_training_signal(7.0) + clone = pickle.loads(pickle.dumps(loss_fn)) + t = sample_t() + self.assertEqual(clone.schedule_metadata(), loss_fn.schedule_metadata()) + self.assertTrue(torch.equal(clone.schedule.compute_r(t=t, stage=clone.stage), + loss_fn.schedule.compute_r(t=t, stage=loss_fn.stage))) + + def test_schedule_state_dict_restores_adaptive_state(self): + source = make_loss('adaptive_v1', q=2.0) + source.update_schedule(3) + source.update_training_signal(10.0) + source.update_training_signal(8.0) + clone = make_loss('adaptive_v1', q=2.0) + clone.load_schedule_state_dict(source.schedule_state_dict()) + self.assertEqual(clone.schedule_metadata(), source.schedule_metadata()) + + def test_explicit_fixed_schedule_ignores_saved_adaptive_state(self): + adaptive = make_loss('adaptive_v1') + adaptive.update_training_signal(10.0) + adaptive.update_training_signal(5.0) + fixed = make_loss('sigmoid') + self.assertFalse(fixed.load_schedule_state_dict(adaptive.schedule_state_dict())) + t = sample_t() + fixed.update_schedule(2) + self.assertTrue(torch.equal( + fixed.schedule.compute_r(t=t, stage=fixed.stage), + fixed.t_to_r_sigmoid(t), + )) + + +class TinyNet(torch.nn.Module): + def forward(self, x, t, labels=None, augment_labels=None): + return x / (1 + t) + + +@unittest.skipUnless(torch.cuda.is_available(), 'ECMLoss.__call__ saves/restores CUDA RNG state (official code, unmodified)') +class ECMLossCallCudaTest(unittest.TestCase): + """End-to-end __call__ checks; run on the A100 (skipped on cpu-only).""" + + def full_loss(self, adj, stage, seed=0, losses=()): + loss_fn = make_loss(adj, q=2.0, k=8.0, b=1.0) + loss_fn.update_schedule(stage) + for loss in losses: + loss_fn.update_training_signal(loss) + net = TinyNet().cuda() + torch.manual_seed(seed) + images = torch.randn([8, 3, 8, 8], device='cuda') + torch.manual_seed(seed) # re-seed: identical t/eps draws across calls + return loss_fn(net=net, images=images) + + def test_call_sigmoid_equals_adaptive_v1_at_integer_stage(self): + self.assertTrue(torch.equal(self.full_loss('sigmoid', stage=1), + self.full_loss('adaptive_v1', stage=1))) + + def test_call_adaptive_v1_loss_signal_changes_loss(self): + baseline = self.full_loss('adaptive_v1', stage=1) + adapted = self.full_loss('adaptive_v1', stage=1, losses=(10.0, 5.0, 2.5)) + self.assertFalse(torch.equal(baseline, adapted)) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_training_cli_compat.py b/tests/test_training_cli_compat.py new file mode 100644 index 00000000..5aec6266 --- /dev/null +++ b/tests/test_training_cli_compat.py @@ -0,0 +1,92 @@ +import contextlib +import io +import unittest + +import click +import dnnlib +import torch +from click.testing import CliRunner + +import ct_train +from training.loss import ECMLoss + + +def parse_train_args(*extra_args): + args = ['--outdir', 'out', '--data', 'dataset', *extra_args] + with ct_train.main.make_context('ct_train.py', args) as ctx: + return dict(ctx.params) + + +class TrainingCliCompatibilityTest(unittest.TestCase): + def test_no_new_option_keeps_legacy_sigmoid_default(self): + params = parse_train_args() + self.assertEqual(params['mapping'], 'sigmoid') + self.assertNotIn('schedule', params) + self.assertEqual(params['adaptive_loss_ema_beta'], 0.9) + self.assertEqual(params['adaptive_update_kimg'], 0.5) + self.assertEqual(params['adaptive_warmup_updates'], 2) + self.assertEqual(params['adaptive_max_adjust'], 0.05) + self.assertEqual(params['adaptive_min_gap'], 1e-3) + + def test_legacy_mapping_option_is_preserved(self): + self.assertEqual(parse_train_args('--mapping=const')['mapping'], 'const') + self.assertEqual(parse_train_args('--mapping=sigmoid')['mapping'], 'sigmoid') + + def test_q_requires_a_value_strictly_greater_than_one(self): + for value in ['1', '0', '-2']: + with self.subTest(value=value), self.assertRaises(click.BadParameter): + parse_train_args('-q', value) + self.assertEqual(parse_train_args('-q', '1.01')['q'], 1.01) + + def test_schedule_and_mapping_are_equivalent_names(self): + for schedule in ['const', 'sigmoid', 'adaptive_v1']: + with self.subTest(schedule=schedule): + legacy = parse_train_args('--mapping', schedule) + current = parse_train_args('--schedule', schedule) + self.assertEqual(legacy, current) + + def test_hyphenated_adaptive_name_is_canonicalized(self): + self.assertEqual( + parse_train_args('--schedule', 'adaptive-v1')['mapping'], + 'adaptive_v1', + ) + + def test_help_exposes_both_option_names(self): + result = CliRunner().invoke(ct_train.main, ['--help']) + self.assertEqual(result.exit_code, 0, result.output) + self.assertIn('--schedule', result.output) + self.assertIn('--mapping', result.output) + + def test_adaptive_parameters_are_complete_in_loss_config(self): + params = parse_train_args( + '--schedule', 'adaptive_v1', + '--adaptive-loss-ema-beta', '0.8', + '--adaptive-update-kimg', '0.25', + '--adaptive-warmup-updates', '3', + '--adaptive-max-adjust', '0.04', + '--adaptive-min-gap', '0.002', + ) + loss_kwargs = ct_train.make_loss_kwargs(dnnlib.EasyDict(params)) + self.assertEqual(loss_kwargs.adj, 'adaptive_v1') + self.assertEqual(loss_kwargs.adaptive_loss_ema_beta, 0.8) + self.assertEqual(params['adaptive_update_kimg'], 0.25) + self.assertEqual(loss_kwargs.adaptive_warmup_updates, 3) + self.assertEqual(loss_kwargs.adaptive_max_adjust, 0.04) + self.assertEqual(loss_kwargs.adaptive_min_gap, 0.002) + + def test_explicit_sigmoid_disables_adaptive_v1(self): + params = parse_train_args('--schedule', 'sigmoid') + loss_kwargs = ct_train.make_loss_kwargs(dnnlib.EasyDict(params)) + self.assertEqual(loss_kwargs.adj, 'sigmoid') + with contextlib.redirect_stdout(io.StringIO()): + loss_fn = ECMLoss(**loss_kwargs) + loss_fn.update_schedule(3) + t = torch.tensor([0.01, 0.1, 1.0, 10.0]) + self.assertTrue(torch.equal( + loss_fn.schedule.compute_r(t=t, stage=loss_fn.stage), + loss_fn.t_to_r_sigmoid(t), + )) + + +if __name__ == '__main__': + unittest.main() diff --git a/training/ct_training_loop.py b/training/ct_training_loop.py index bca30f59..381c17c2 100644 --- a/training/ct_training_loop.py +++ b/training/ct_training_loop.py @@ -2,9 +2,12 @@ import csv import time import copy +import filecmp import json +import math import pickle import psutil +import shutil import functools import PIL.Image import numpy as np @@ -17,8 +20,44 @@ from metrics import metric_main # Per-attempted-iteration CSV for paired fixed/adaptive comparisons. -# schedule / stage are recorded every row so collectors do not scrape logs. -# Adaptive-only columns (loss_ema, correction, ...) are added by Role C later. +# Schedule telemetry comes exclusively from loss_fn.schedule_runtime_metrics(). +_LEGACY_TRAIN_SUMMARY_FIELDS = ( + 'attempted_iteration', + 'successful_optimizer_steps', + 'processed_nimg', + 'processed_kimg', + 'loss', + 'grad_scale', + 'step_skipped', + 'schedule', + 'stage', + 'elapsed_sec', + 'peak_vram_gb', +) + +# The telemetry schema predating next_loop_cur_tick. Keep this exact tuple so +# resumed runs can be migrated without guessing historical tick state. +_PRE_NEXT_LOOP_TICK_TRAIN_SUMMARY_FIELDS = ( + 'attempted_iteration', + 'successful_optimizer_steps', + 'processed_nimg', + 'processed_kimg', + 'loss', + 'grad_scale', + 'step_skipped', + 'schedule', + 'stage', + 'loss_ema', + 'loss_reference', + 'correction', + 'signal_updates', + 'adaptive_active', + 'r_over_t_mean', + 'gap_mean', + 'elapsed_sec', + 'peak_vram_gb', +) + _TRAIN_SUMMARY_FIELDS = ( 'attempted_iteration', 'successful_optimizer_steps', @@ -29,10 +68,231 @@ 'step_skipped', 'schedule', 'stage', + # The state that will be used by the next loop iteration. At a + # maintenance boundary this is also the cur_tick persisted in a checkpoint. + 'next_loop_cur_tick', + 'loss_ema', + 'loss_reference', + 'correction', + 'signal_updates', + 'adaptive_active', + 'r_over_t_mean', + 'gap_mean', 'elapsed_sec', 'peak_vram_gb', ) +#---------------------------------------------------------------------------- + +def load_and_migrate_train_summary(summary_path): + """Load a resume CSV, upgrading only known historical schemas. + + Values absent from the original schema cannot be reconstructed, so their + migrated cells deliberately stay empty. The original file is retained + beside the upgraded CSV for auditability. + """ + with open(summary_path, 'rt', newline='') as handle: + reader = csv.DictReader(handle) + fieldnames = tuple(reader.fieldnames or ()) + rows = list(reader) + + if not rows: + raise RuntimeError(f'resume requested but {summary_path} has no data rows') + if fieldnames == _TRAIN_SUMMARY_FIELDS: + return rows, None + if fieldnames == _LEGACY_TRAIN_SUMMARY_FIELDS: + backup_path = f'{summary_path}.pre-telemetry.bak' + elif fieldnames == _PRE_NEXT_LOOP_TICK_TRAIN_SUMMARY_FIELDS: + backup_path = f'{summary_path}.pre-next-loop-tick.bak' + else: + raise RuntimeError( + f'resume requested but {summary_path} has an unsupported schema; ' + 'expected the current schema or an exact supported legacy schema' + ) + + if os.path.exists(backup_path): + if not filecmp.cmp(summary_path, backup_path, shallow=False): + raise RuntimeError( + f'refuse to overwrite non-matching train-summary backup: {backup_path}' + ) + else: + shutil.copy2(summary_path, backup_path) + + migrated_rows = [ + {field: row.get(field, '') for field in _TRAIN_SUMMARY_FIELDS} + for row in rows + ] + temporary_path = f'{summary_path}.telemetry-migration.tmp-{os.getpid()}' + try: + with open(temporary_path, 'wt', newline='') as handle: + writer = csv.DictWriter(handle, fieldnames=_TRAIN_SUMMARY_FIELDS) + writer.writeheader() + writer.writerows(migrated_rows) + handle.flush() + os.fsync(handle.fileno()) + os.replace(temporary_path, summary_path) + except BaseException: + if os.path.exists(temporary_path): + os.unlink(temporary_path) + raise + return migrated_rows, backup_path + +#---------------------------------------------------------------------------- + +def adaptive_update_interval_nimg(update_kimg): + """Convert an adaptive update period to an exact image-count interval.""" + update_kimg = float(update_kimg) + update_nimg = update_kimg * 1000 + if not math.isfinite(update_kimg) or update_kimg <= 0 or not update_nimg.is_integer(): + raise ValueError( + f'adaptive_update_kimg must be positive and represent whole images, got {update_kimg}' + ) + return int(update_nimg) + + +class AdaptiveSignalWindow: + """Accumulate local loss until the next absolute adaptive-update boundary. + + Windows are deliberately independent of maintenance ticks so changing + --tick does not change the controller's update frequency. + """ + + def __init__(self, update_kimg, start_nimg=0): + self.update_nimg = adaptive_update_interval_nimg(update_kimg) + start_nimg = int(start_nimg) + if start_nimg < 0: + raise ValueError(f'start_nimg must be non-negative, got {start_nimg}') + self.next_update_nimg = (start_nimg // self.update_nimg + 1) * self.update_nimg + self.loss_sum = 0.0 + self.loss_count = 0 + + def add(self, loss_sum, loss_count): + self.loss_sum += float(loss_sum) + self.loss_count += int(loss_count) + + def pop_if_due(self, cur_nimg): + cur_nimg = int(cur_nimg) + if cur_nimg < self.next_update_nimg: + return None + loss_sum, loss_count = self.loss_sum, self.loss_count + self.loss_sum = 0.0 + self.loss_count = 0 + while self.next_update_nimg <= cur_nimg: + self.next_update_nimg += self.update_nimg + return loss_sum, loss_count + + def state_dict(self): + """Return all state needed to resume a partially accumulated window.""" + return { + 'update_nimg': self.update_nimg, + 'next_update_nimg': self.next_update_nimg, + 'loss_sum': self.loss_sum, + 'loss_count': self.loss_count, + } + + def load_state_dict(self, state): + """Restore a window checkpointed after an arbitrary training step.""" + if not isinstance(state, dict): + raise ValueError('adaptive signal window state must be a dict') + required = ('update_nimg', 'next_update_nimg', 'loss_sum', 'loss_count') + missing = [name for name in required if name not in state] + if missing: + raise ValueError( + f'adaptive signal window state missing required fields: {", ".join(missing)}' + ) + update_nimg = int(state['update_nimg']) + next_update_nimg = int(state['next_update_nimg']) + loss_sum = float(state['loss_sum']) + loss_count = int(state['loss_count']) + if update_nimg != self.update_nimg: + raise ValueError( + f'adaptive signal window interval mismatch: checkpoint={update_nimg}, ' + f'current={self.update_nimg}' + ) + if next_update_nimg <= 0 or next_update_nimg % self.update_nimg != 0: + raise ValueError( + f'invalid adaptive signal window next_update_nimg: {next_update_nimg}' + ) + if loss_count < 0: + raise ValueError(f'adaptive signal window loss_count must be non-negative, got {loss_count}') + self.next_update_nimg = next_update_nimg + self.loss_sum = loss_sum + self.loss_count = loss_count + + +def gather_adaptive_signal_window_state(window, device): + """Collect each rank's local adaptive-window state for a rank-0 checkpoint.""" + local_state = window.state_dict() + world_size = dist.get_world_size() + if world_size == 1: + rank_states = [local_state] + else: + local_values = torch.tensor( + [window.next_update_nimg, window.loss_sum, window.loss_count], + dtype=torch.float64, + device=device, + ) + gathered_values = [torch.empty_like(local_values) for _ in range(world_size)] + torch.distributed.all_gather(gathered_values, local_values) + rank_states = [ + { + 'update_nimg': window.update_nimg, + 'next_update_nimg': int(values[0]), + 'loss_sum': float(values[1]), + 'loss_count': int(values[2]), + } + for values in gathered_values + ] + + # Keep the rank-0 fields at the top level for transparent single-rank + # inspection, and retain every local accumulator for exact DDP resumes. + return {**rank_states[0], 'rank_states': rank_states} + + +def local_adaptive_signal_window_state(state): + """Select this rank's window state from a training-state checkpoint.""" + if not isinstance(state, dict): + return state + rank_states = state.get('rank_states') + if rank_states is None: + return state + if not isinstance(rank_states, list) or len(rank_states) != dist.get_world_size(): + raise ValueError( + 'adaptive signal window checkpoint rank count does not match the current world size' + ) + return rank_states[dist.get_rank()] + + +def globally_average_adaptive_loss(loss_sum, loss_count, device): + """Return the sample-weighted loss mean, identical on every rank.""" + totals = torch.tensor([loss_sum, loss_count], dtype=torch.float64, device=device) + if dist.get_world_size() > 1: + torch.distributed.all_reduce(totals) + total_count = float(totals[1]) + return float(totals[0] / total_count) if total_count > 0 else float('nan') + + +def globally_average_runtime_pairs(metric_batches, device): + """Average public r/t telemetry across accumulation rounds and ranks.""" + r_values = [float(metrics['r_over_t_mean']) for metrics in metric_batches] + gap_values = [float(metrics['gap_mean']) for metrics in metric_batches] + r_values = [value for value in r_values if math.isfinite(value)] + gap_values = [value for value in gap_values if math.isfinite(value)] + totals = torch.tensor( + [sum(r_values), len(r_values), sum(gap_values), len(gap_values)], + dtype=torch.float64, + device=device, + ) + if dist.get_world_size() > 1: + torch.distributed.all_reduce(totals) + r_count = float(totals[1]) + gap_count = float(totals[3]) + return { + 'r_over_t_mean': float(totals[0] / r_count) if r_count > 0 else float('nan'), + 'gap_mean': float(totals[2] / gap_count) if gap_count > 0 else float('nan'), + } + + #---------------------------------------------------------------------------- def setup_snapshot_image_grid(training_set, random_seed=0): @@ -140,6 +400,7 @@ def training_loop( sample_ticks = 50, # How often to sample images, None = disable. eval_ticks = 500, # How often to evaluate models, None = disable. double_ticks = 500, # How often to evaluate models, None = disable. + adaptive_update_kimg = 0.5, # Adaptive loss-EMA signal period, independent of ticks. resume_pkl = None, # Start from the given network snapshot, None = random initialization. resume_state_dump = None, # Start from the given training state, None = reset training state. resume_tick = 0, # Start from the given training progress. @@ -225,6 +486,7 @@ def training_loop( resumed_cur_nimg = None resumed_cur_tick = None resumed_tick_start_nimg = None + resumed_adaptive_signal_window_state = None elapsed_base_sec = 0.0 if resume_state_dump: dist.print0(f'Loading training state from "{resume_state_dump}"...') @@ -246,6 +508,8 @@ def training_loop( elapsed_base_sec = float(data.get('elapsed_sec', 0.0)) if hasattr(loss_fn, 'load_schedule_state_dict') and 'loss_fn_state' in data: loss_fn.load_schedule_state_dict(data['loss_fn_state']) + if 'adaptive_signal_window_state' in data: + resumed_adaptive_signal_window_state = data['adaptive_signal_window_state'] if enable_amp: if 'gradscaler_state' in data: # NOTE(aiihn): Although not loading the state_dict of the GradScaler works well, @@ -304,16 +568,36 @@ def training_loop( schedule_name = getattr(loss_fn, 'adj', None) if schedule_name is None: schedule_name = loss_kwargs.get('adj', 'unknown') + adaptive_signal_window = ( + AdaptiveSignalWindow(adaptive_update_kimg, start_nimg=cur_nimg) + if schedule_name == 'adaptive_v1' else None + ) + if adaptive_signal_window is not None and resume_state_dump: + if resumed_adaptive_signal_window_state is None: + raise RuntimeError( + f'resume training-state missing adaptive_signal_window_state: {resume_state_dump}; ' + 'cannot exactly resume adaptive loss aggregation' + ) + adaptive_signal_window.load_state_dict( + local_adaptive_signal_window_state(resumed_adaptive_signal_window_state) + ) + if adaptive_signal_window.next_update_nimg <= cur_nimg: + raise RuntimeError( + 'resumed adaptive signal window is due before or at the restored progress: ' + f'{adaptive_signal_window.next_update_nimg} <= {cur_nimg}' + ) if dist.get_rank() == 0: summary_path = os.path.join(run_dir, 'train_summary.csv') summary_exists = os.path.isfile(summary_path) and os.path.getsize(summary_path) > 0 if resume_state_dump: if summary_exists: - with open(summary_path, 'rt', newline='') as handle: - rows = list(csv.DictReader(handle)) - if not rows: - raise RuntimeError(f'resume requested but {summary_path} has no data rows') + rows, migrated_backup = load_and_migrate_train_summary(summary_path) + if migrated_backup is not None: + dist.print0( + f'Migrated legacy train_summary.csv to telemetry schema; ' + f'original saved as "{migrated_backup}"' + ) last = rows[-1] last_attempted = int(float(last['attempted_iteration'])) last_nimg = int(float(last.get('processed_nimg', last.get('nimg', -1)))) @@ -333,6 +617,29 @@ def training_loop( f'train_summary.csv last processed_nimg={last_nimg} ' f'does not match resumed cur_nimg={cur_nimg}' ) + last_next_loop_tick = str(last.get('next_loop_cur_tick', '')).strip() + if last_next_loop_tick: + try: + parsed_next_loop_tick = float(last_next_loop_tick) + except ValueError as exc: + raise RuntimeError( + 'train_summary.csv last next_loop_cur_tick must be numeric: ' + f'{last_next_loop_tick!r}' + ) from exc + if ( + not math.isfinite(parsed_next_loop_tick) + or not parsed_next_loop_tick.is_integer() + or parsed_next_loop_tick < 0 + ): + raise RuntimeError( + 'train_summary.csv last next_loop_cur_tick must be a ' + f'non-negative integer: {last_next_loop_tick!r}' + ) + if int(parsed_next_loop_tick) != cur_tick: + raise RuntimeError( + f'train_summary.csv last next_loop_cur_tick={last_next_loop_tick} ' + f'does not match resumed cur_tick={cur_tick}' + ) if not attempted_iteration: attempted_iteration = last_attempted successful_optimizer_steps = int(float( @@ -361,7 +668,7 @@ def update_scheduler(loss_fn): loss_fn.update_schedule(stage) dist.print0(f'Update scheduler at {cur_tick} ticks, {cur_nimg / 1e3} kimg, ratio {loss_fn.ratio}') - def build_training_state(): + def build_training_state(adaptive_signal_window_state=None): # Checkpointing happens during maintenance, before the loop advances: # cur_tick += 1 # tick_start_nimg = cur_nimg @@ -374,10 +681,17 @@ def build_training_state(): cur_nimg=cur_nimg, cur_tick=cur_tick + 1, tick_start_nimg=cur_nimg, - elapsed_sec=elapsed_base_sec + (time.time() - start_time), + # Match the final CSV row exactly; resume timing continues from + # the last completed attempted iteration rather than from later + # checkpoint I/O and maintenance work. + elapsed_sec=elapsed_sec, ) if hasattr(loss_fn, 'schedule_state_dict'): data['loss_fn_state'] = loss_fn.schedule_state_dict() + if adaptive_signal_window is not None: + if adaptive_signal_window_state is None: + raise RuntimeError('adaptive signal window state was not collected for checkpointing') + data['adaptive_signal_window_state'] = adaptive_signal_window_state if enable_amp: data['gradscaler_state'] = scaler.state_dict() return data @@ -400,6 +714,7 @@ def build_training_state(): # Accumulate gradients. optimizer.zero_grad(set_to_none=True) loss_batches = [] + schedule_metric_batches = [] for round_idx in range(num_accumulation_rounds): with misc.ddp_sync(ddp, (round_idx == num_accumulation_rounds - 1)): images, labels = next(dataset_iterator) @@ -408,6 +723,7 @@ def build_training_state(): loss = loss_fn(net=ddp, images=images, labels=labels, augment_pipe=augment_pipe) loss_batches.append(loss.detach()) + schedule_metric_batches.append(loss_fn.schedule_runtime_metrics()) training_stats.report('Loss/loss', loss) if enable_amp: scaler.scale(loss.mean()).backward() @@ -448,7 +764,10 @@ def build_training_state(): if not step_skipped: successful_optimizer_steps += 1 - loss_mean = float(torch.cat([x.flatten() for x in loss_batches]).mean().cpu()) + loss_count = sum(x.numel() for x in loss_batches) + loss_sum = sum(float(x.sum().cpu()) for x in loss_batches) + loss_mean = loss_sum / loss_count + runtime_pair_metrics = globally_average_runtime_pairs(schedule_metric_batches, device=device) elapsed_sec = elapsed_base_sec + (time.time() - start_time) peak_vram_gb = torch.cuda.max_memory_allocated(device) / 2**30 training_stats.report0('Progress/grad_scale', grad_scale) @@ -467,8 +786,40 @@ def build_training_state(): for p_ema, p_net in zip(ema.parameters(), net.parameters()): p_ema.copy_(p_net.detach().lerp(p_ema, ema_beta)) - # Perform maintenance tasks once per tick. + # Advance iteration-local state. Adaptive updates intentionally happen + # here, before the maintenance early-continue below. cur_nimg += batch_size + if adaptive_signal_window is not None: + adaptive_signal_window.add(loss_sum, loss_count) + signal_window = adaptive_signal_window.pop_if_due(cur_nimg) + if signal_window is not None: + signal_loss = globally_average_adaptive_loss(*signal_window, device=device) + loss_fn.update_training_signal(signal_loss) + + schedule_runtime_metrics = loss_fn.schedule_runtime_metrics() + schedule_runtime_metrics.update(runtime_pair_metrics) + if schedule_runtime_metrics['loss_ema'] is not None: + training_stats.report0('Schedule/loss_ema', schedule_runtime_metrics['loss_ema']) + if schedule_runtime_metrics['loss_reference'] is not None: + training_stats.report0('Schedule/loss_reference', schedule_runtime_metrics['loss_reference']) + training_stats.report0('Schedule/correction', schedule_runtime_metrics['correction']) + training_stats.report0('Schedule/signal_updates', schedule_runtime_metrics['signal_updates']) + training_stats.report0('Schedule/adaptive_active', int(schedule_runtime_metrics['adaptive_active'])) + training_stats.report0('Schedule/r_over_t_mean', schedule_runtime_metrics['r_over_t_mean']) + training_stats.report0('Schedule/gap_mean', schedule_runtime_metrics['gap_mean']) + + # Record the exact state that the following loop iteration will see. + # This cannot be derived reliably from image count: the first iteration + # always performs maintenance, and completion forces it regardless of + # --tick. A checkpoint saved below persists this same cur_tick value. + done = (cur_nimg >= total_kimg * 1000) + maintenance_due = ( + done + or cur_tick == 0 + or cur_nimg >= tick_start_nimg + kimg_per_tick * 1000 + ) + next_loop_cur_tick = cur_tick + int(maintenance_due) + if train_summary_writer is not None: train_summary_writer.writerow({ 'attempted_iteration': attempted_iteration, @@ -480,13 +831,21 @@ def build_training_state(): 'step_skipped': step_skipped, 'schedule': schedule_name, 'stage': stage, + 'next_loop_cur_tick': next_loop_cur_tick, + 'loss_ema': '' if schedule_runtime_metrics['loss_ema'] is None else f"{schedule_runtime_metrics['loss_ema']:.12g}", + 'loss_reference': '' if schedule_runtime_metrics['loss_reference'] is None else f"{schedule_runtime_metrics['loss_reference']:.12g}", + 'correction': f"{schedule_runtime_metrics['correction']:.12g}", + 'signal_updates': schedule_runtime_metrics['signal_updates'], + 'adaptive_active': int(schedule_runtime_metrics['adaptive_active']), + 'r_over_t_mean': f"{schedule_runtime_metrics['r_over_t_mean']:.12g}", + 'gap_mean': f"{schedule_runtime_metrics['gap_mean']:.12g}", 'elapsed_sec': f'{elapsed_sec:.6f}', 'peak_vram_gb': f'{peak_vram_gb:.6f}', }) train_summary_csv.flush() - done = (cur_nimg >= total_kimg * 1000) - if (not done) and (cur_tick != 0) and (cur_nimg < tick_start_nimg + kimg_per_tick * 1000): + # Perform maintenance tasks once per tick. + if not maintenance_due: continue # Print status line, accumulating the same information in training_stats. @@ -527,12 +886,32 @@ def build_training_state(): pickle.dump(data, f) del data # conserve memory - # Save full dump of the training state. - if (state_dump_ticks is not None) and (done or cur_tick % state_dump_ticks == 0) and cur_tick != 0 and dist.get_rank() == 0: - torch.save(build_training_state(), os.path.join(run_dir, f'training-state-{cur_tick:06d}.pt')) + # Save full dump of the training state. Every rank participates in + # collecting its local adaptive-loss accumulator; rank 0 writes the + # resulting combined state. + state_dump_due = ( + (state_dump_ticks is not None) + and (done or cur_tick % state_dump_ticks == 0) + and cur_tick != 0 + ) + if state_dump_due: + adaptive_signal_window_state = ( + gather_adaptive_signal_window_state(adaptive_signal_window, device) + if adaptive_signal_window is not None else None + ) + if dist.get_rank() == 0: + torch.save( + build_training_state(adaptive_signal_window_state), + os.path.join(run_dir, f'training-state-{cur_tick:06d}.pt'), + ) # Save latest checkpoints - if (ckpt_ticks is not None) and (done or cur_tick % ckpt_ticks == 0) and cur_tick != 0: + latest_checkpoint_due = ( + (ckpt_ticks is not None) + and (done or cur_tick % ckpt_ticks == 0) + and cur_tick != 0 + ) + if latest_checkpoint_due: dist.print0(f'Save the latest checkpoint at {cur_tick:06d} img...') data = dict(ema=ema, loss_fn=loss_fn, augment_pipe=augment_pipe, dataset_kwargs=dict(dataset_kwargs)) for key, value in data.items(): @@ -546,8 +925,15 @@ def build_training_state(): pickle.dump(data, f) del data # conserve memory + adaptive_signal_window_state = ( + gather_adaptive_signal_window_state(adaptive_signal_window, device) + if adaptive_signal_window is not None else None + ) if dist.get_rank() == 0: - torch.save(build_training_state(), os.path.join(run_dir, f'training-state-latest.pt')) + torch.save( + build_training_state(adaptive_signal_window_state), + os.path.join(run_dir, f'training-state-latest.pt'), + ) # Sample Img if (sample_ticks is not None) and (done or cur_tick % sample_ticks == 0) and dist.get_rank() == 0: diff --git a/training/loss.py b/training/loss.py index 9a1007a5..bd39d2fa 100644 --- a/training/loss.py +++ b/training/loss.py @@ -5,22 +5,33 @@ from torch_utils import persistence from torch_utils import distributed as dist +from training.schedules import get_schedule + #---------------------------------------------------------------------------- # Loss function proposed in the blog "Consistency Models Made Easy" @persistence.persistent_class class ECMLoss: - def __init__(self, P_mean=-1.1, P_std=2.0, sigma_data=0.5, q=2, c=0.0, k=8.0, b=1.0, cut=4.0, adj='sigmoid'): + def __init__(self, P_mean=-1.1, P_std=2.0, sigma_data=0.5, q=2, c=0.0, k=8.0, b=1.0, cut=4.0, + adj='sigmoid', adaptive_loss_ema_beta=0.9, adaptive_max_adjust=0.05, + adaptive_min_gap=1e-3, adaptive_warmup_updates=2): self.P_mean = P_mean self.P_std = P_std self.sigma_data = sigma_data - if adj == 'const': - self.t_to_r = self.t_to_r_const - elif adj == 'sigmoid': - self.t_to_r = self.t_to_r_sigmoid - else: - raise ValueError(f'Unknow schedule type {adj}!') + # t -> r entry point, dispatched through training/schedules.py. + # 'const' / 'sigmoid' are the official fixed formulas (bit-identical + # to the reference methods below); 'adaptive_v1' is the Role C + # experiment. + schedule_kwargs = dict(q=q, k=k, b=b) + if adj == 'adaptive_v1': + schedule_kwargs.update( + loss_ema_beta=adaptive_loss_ema_beta, + max_adjust=adaptive_max_adjust, + min_gap=adaptive_min_gap, + warmup_updates=adaptive_warmup_updates, + ) + self.schedule = get_schedule(adj, **schedule_kwargs) self.q = q self.stage = 0 @@ -30,12 +41,68 @@ def __init__(self, P_mean=-1.1, P_std=2.0, sigma_data=0.5, q=2, c=0.0, k=8.0, b= self.b = b self.c = c + self._runtime_r_over_t_mean = float('nan') + self._runtime_gap_mean = float('nan') dist.print0(f'P_mean: {self.P_mean}, P_std: {self.P_std}, q: {self.q}, k {self.k}, b {self.b}, c: {self.c}') def update_schedule(self, stage): self.stage = stage + self.schedule.update_schedule(stage) self.ratio = 1 - 1 / self.q ** (stage+1) + def update_training_signal(self, loss): + return self.schedule.update_training_signal(loss) + + def schedule_state_dict(self): + return { + 'schedule_name': self.schedule.name, + 'stage': self.stage, + 'ratio': self.ratio, + 'schedule': self.schedule.state_dict(), + } + + def load_schedule_state_dict(self, state): + saved_name = state.get('schedule_name') + if saved_name is not None and saved_name != self.schedule.name: + return False + self.stage = state.get('stage', self.stage) + self.ratio = state.get('ratio', self.ratio) + self.schedule.load_state_dict(state.get('schedule', {})) + return True + + def schedule_metadata(self): + metadata = self.schedule.metadata() + metadata.update(stage=self.stage, ratio=self.ratio) + return metadata + + def schedule_runtime_metrics(self): + """Return stable, scalar telemetry without exposing schedule internals.""" + metrics = self.schedule.runtime_metrics() + return { + 'loss_ema': metrics['loss_ema'], + 'loss_reference': metrics['loss_reference'], + 'correction': float(metrics['correction']), + 'signal_updates': int(metrics['signal_updates']), + 'adaptive_active': bool(metrics['adaptive_active']), + 'r_over_t_mean': float(self._runtime_r_over_t_mean), + 'gap_mean': float(self._runtime_gap_mean), + } + + def _record_schedule_runtime_pair(self, t, r): + with torch.no_grad(): + valid = torch.isfinite(t) & torch.isfinite(r) & (t > 0) + if not bool(valid.any()): + self._runtime_r_over_t_mean = float('nan') + self._runtime_gap_mean = float('nan') + return + valid_t = t[valid].to(torch.float64) + valid_r = r[valid].to(torch.float64) + self._runtime_r_over_t_mean = float((valid_r / valid_t).mean().cpu()) + self._runtime_gap_mean = float(((valid_t - valid_r) / valid_t).mean().cpu()) + + # Official fixed t->r formulas, kept verbatim as the parity reference for + # tests/test_schedules.py; the training path dispatches through + # self.schedule (see __call__). def t_to_r_const(self, t): decay = 1 / self.q ** (self.stage+1) ratio = 1 - decay @@ -53,7 +120,8 @@ def __call__(self, net, images, labels=None, augment_pipe=None): # t ~ p(t) and r ~ p(r|t, iters) (Mapping fn) rnd_normal = torch.randn([images.shape[0], 1, 1, 1], device=images.device) t = (rnd_normal * self.P_std + self.P_mean).exp() - r = self.t_to_r(t) + r = self.schedule.compute_r(t=t, stage=self.stage) + self._record_schedule_runtime_pair(t=t, r=r) # Augmentation if needed y, augment_labels = augment_pipe(images) if augment_pipe is not None else (images, None) diff --git a/training/schedules.py b/training/schedules.py new file mode 100644 index 00000000..4f96fe3a --- /dev/null +++ b/training/schedules.py @@ -0,0 +1,350 @@ +"""t -> r mapping schedules for Easy Consistency Tuning (ECT). + +During consistency tuning, every training pair (x_t, x_r) is built from a +noise level t ~ p(t) and a smaller noise level r = r(t, stage) produced by a +mapping schedule ("Consistency Models Made Easy", arXiv 2406.14548, Sec. 3.3 +and Appendix A). This module centralizes the t -> r schedules behind a single +interface; ECMLoss in training/loss.py dispatches its t -> r entry through it +as r = self.schedule.compute_r(t=t, stage=self.stage), while the official +reference formulas stay verbatim in training/loss.py as the parity anchor. + +Supported schedules: + 'const' Official ECT constant mapping, Eq. (17). + 'sigmoid' Official ECT sigmoid mapping, Eq. (18); training default. + 'adaptive_v1' Official sigmoid ratio plus a bounded correction driven by + the EMA of the globally aggregated training loss. + +The 'const' and 'sigmoid' formulas are verbatim ports of +ECMLoss.t_to_r_const / ECMLoss.t_to_r_sigmoid in training/loss.py and MUST NOT +be modified: they are the official fixed baseline this project reproduces. +tests/test_schedules.py enforces bitwise parity against training/loss.py. + +Usage (both forms are supported): + from training.schedules import compute_r, get_schedule + + schedule = get_schedule('sigmoid', q=256, k=8, b=1) + r = schedule.compute_r(t=t, stage=stage) + + r = compute_r(t=t, stage=stage, schedule='sigmoid', q=256, k=8, b=1) + +`t` may be a torch tensor of any shape (the training loop uses [N, 1, 1, 1]), +or a python/numpy scalar or array, which is converted via torch.as_tensor(); +the result is a tensor of the same shape with r clamped to r >= 0. `stage` is +the official integer curriculum stage maintained by the training loop +(stage = cur_tick // double_ticks). adaptive_v1 changes only r/t using the +loss EMA; it does not replace the official stage curriculum. +""" + +import math + +import torch + +#---------------------------------------------------------------------------- +# Registry. + +_SCHEDULES = {} + +def register_schedule(name): + def decorator(cls): + cls.name = name + _SCHEDULES[name] = cls + return cls + return decorator + +def available_schedules(): + return sorted(_SCHEDULES) + +def get_schedule(schedule, **schedule_kwargs): + # training/loss.py imports this by name, and torch_utils.persistence + # embeds that module's source into training snapshots — keep the public + # names in this module stable or old snapshots stop unpickling. + if schedule not in _SCHEDULES: + raise ValueError(f"Unknown schedule type {schedule!r}! Available: {', '.join(available_schedules())}") + return _SCHEDULES[schedule](**schedule_kwargs) + +#---------------------------------------------------------------------------- +# Interface. Hyperparameter defaults follow ct_train.py (-q 2.0 -k 8.0 -b 1.0). + +class Schedule: + name = None + + def __init__(self, q=2.0, k=8.0, b=1.0): + if q <= 1: + raise ValueError(f'q must be > 1 (Delta_t decay factor), got {q}') + self.q = q + self.k = k + self.b = b + self.stage = 0 + + def compute_r(self, t, stage): + raise NotImplementedError + + # Stateful interface mirroring ECMLoss, so a Schedule instance can drive + # the existing training loop (update_schedule() at stage boundaries, + # t_to_r() inside the loss) without further changes. + def update_schedule(self, stage): + self.stage = stage + + def t_to_r(self, t): + return self.compute_r(t=t, stage=self.stage) + + def update_training_signal(self, loss): + del loss + return False + + def runtime_metrics(self): + """Stable controller telemetry contract for training/evaluation code.""" + return { + 'loss_ema': None, + 'loss_reference': None, + 'correction': 0.0, + 'signal_updates': 0, + 'adaptive_active': False, + } + + def state_dict(self): + return {} + + def load_state_dict(self, state): + if state: + raise ValueError(f'{type(self).__name__} does not have adaptive state') + + def metadata(self): + return { + 'name': self.name, + 'enabled': False, + 'q': self.q, + 'k': self.k, + 'b': self.b, + } + + def __repr__(self): + return f'{type(self).__name__}(q={self.q}, k={self.k}, b={self.b})' + +def _as_tensor(t): + return t if isinstance(t, torch.Tensor) else torch.as_tensor(t) + +#---------------------------------------------------------------------------- +# Official fixed schedules. Verbatim ports of training/loss.py — do not edit +# the formulas; tests/test_schedules.py checks them bit-for-bit against +# ECMLoss. + +@register_schedule('const') +class ConstSchedule(Schedule): + """Official constant mapping, Eq. (17): r/t = 1 - 1/q^(stage+1). + + Port of ECMLoss.t_to_r_const in training/loss.py. + """ + + def compute_r(self, t, stage): + t = _as_tensor(t) + decay = 1 / self.q ** (stage + 1) + ratio = 1 - decay + r = t * ratio + return torch.clamp(r, min=0) + +@register_schedule('sigmoid') +class SigmoidSchedule(Schedule): + """Official sigmoid mapping, Eq. (18): r/t = 1 - n(t)/q^(stage+1), where + n(t) = 1 + k * sigmoid(-b * t). Training default (--mapping=sigmoid). + + Port of ECMLoss.t_to_r_sigmoid in training/loss.py. + """ + + def compute_r(self, t, stage): + t = _as_tensor(t) + adj = 1 + self.k * torch.sigmoid(-self.b * t) + decay = 1 / self.q ** (stage + 1) + ratio = 1 - decay * adj + r = t * ratio + return torch.clamp(r, min=0) + +#---------------------------------------------------------------------------- +# Experimental schedules (Role C). Changes relative to the official fixed +# schedules live below this line only. + +@register_schedule('adaptive_v1') +class AdaptiveV1Schedule(SigmoidSchedule): + """Loss-EMA adaptive correction on top of the official sigmoid ratio. + + Let rho_0 be the official sigmoid r/t ratio, L_ref the loss EMA at the + end of warm-up, and L_ema the current loss EMA. The correction is + + delta = max_adjust * tanh(log(L_ref) - log(L_ema)) + + and rho = clamp(rho_0 + delta, 0, 1 - min_gap). Improving loss therefore + tightens the pair (smaller t-r), while worsening loss widens it. The + correction is deterministic and bounded by max_adjust. + """ + + def __init__(self, q=2.0, k=8.0, b=1.0, loss_ema_beta=0.9, + max_adjust=0.05, min_gap=1e-3, warmup_updates=2): + super().__init__(q=q, k=k, b=b) + for name, value in [('q', q), ('k', k), ('b', b)]: + if not math.isfinite(float(value)): + raise ValueError(f'{name} must be finite, got {value}') + if not math.isfinite(loss_ema_beta) or not 0 <= loss_ema_beta < 1: + raise ValueError(f'loss_ema_beta must be in [0, 1), got {loss_ema_beta}') + if not math.isfinite(max_adjust) or not 0 <= max_adjust <= 1: + raise ValueError(f'max_adjust must be in [0, 1], got {max_adjust}') + if not math.isfinite(min_gap) or not 0 < min_gap < 1: + raise ValueError(f'min_gap must be in (0, 1), got {min_gap}') + try: + normalized_warmup_updates = int(warmup_updates) + except (TypeError, ValueError, OverflowError): + normalized_warmup_updates = -1 + if (isinstance(warmup_updates, bool) or normalized_warmup_updates != warmup_updates + or normalized_warmup_updates < 0): + raise ValueError(f'warmup_updates must be a non-negative integer, got {warmup_updates}') + self.loss_ema_beta = float(loss_ema_beta) + self.max_adjust = float(max_adjust) + self.min_gap = float(min_gap) + self.warmup_updates = normalized_warmup_updates + self.loss_ema = None + self.loss_reference = None + self.signal_updates = 0 + + def update_training_signal(self, loss): + loss = float(loss) + if not math.isfinite(loss) or loss < 0: + return False + loss = max(loss, torch.finfo(torch.float64).tiny) + if self.loss_ema is None: + updated_ema = loss + else: + beta = self.loss_ema_beta + updated_ema = beta * self.loss_ema + (1 - beta) * loss + if not math.isfinite(updated_ema) or updated_ema <= 0: + return False + self.loss_ema = updated_ema + self.signal_updates += 1 + + # Establish the baseline only after the requested number of valid + # signals have contributed to the EMA. With no warm-up, the first + # signal is necessarily the baseline (and therefore has zero + # correction); otherwise the following signal is the first one that + # can produce a correction relative to this reference. + if self.loss_reference is None and ( + self.warmup_updates == 0 or self.signal_updates == self.warmup_updates + ): + self.loss_reference = updated_ema + return True + + def correction_is_active(self): + return ( + self.max_adjust != 0 + and self.loss_ema is not None + and self.loss_reference is not None + and self.signal_updates > self.warmup_updates + ) + + def correction(self): + if not self.correction_is_active(): + return 0.0 + log_improvement = math.log(self.loss_reference) - math.log(self.loss_ema) + return self.max_adjust * math.tanh(log_improvement) + + def compute_r(self, t, stage): + stage = float(stage) + if not math.isfinite(stage) or stage < 0: + raise ValueError(f'stage must be finite and >= 0, got {stage}') + t = _as_tensor(t) + + # Before a correction is active, adaptive_v1 is exactly the official + # sigmoid schedule. In particular, min_gap must not alter the no-signal + # or warmup path. + if not self.correction_is_active(): + return super().compute_r(t=t, stage=stage) + + if not t.is_floating_point(): + t = t.to(torch.get_default_dtype()) + finite_max = torch.finfo(t.dtype).max + t = torch.nan_to_num(t, nan=0.0, posinf=finite_max, neginf=0.0).clamp_min(0) + + try: + base_r = super().compute_r(t=t, stage=stage) + except OverflowError: + # q**(stage+1) -> inf, so the mathematical sigmoid ratio -> 1. + base_r = t + delta = self.correction() + base_ratio = torch.where(t > 0, base_r / t, torch.zeros_like(t)) + ratio = torch.clamp(base_ratio + delta, min=0, max=1 - self.min_gap) + r = torch.nan_to_num(t * ratio, nan=0.0, posinf=finite_max, neginf=0.0) + return torch.minimum(r.clamp_min(0), t) + + def state_dict(self): + return { + 'loss_ema': self.loss_ema, + 'loss_reference': self.loss_reference, + 'signal_updates': self.signal_updates, + } + + def load_state_dict(self, state): + loss_ema = state.get('loss_ema') + loss_reference = state.get('loss_reference') + signal_updates = int(state.get('signal_updates', 0)) + for name, value in [('loss_ema', loss_ema), ('loss_reference', loss_reference)]: + if value is not None and (not math.isfinite(float(value)) or float(value) <= 0): + raise ValueError(f'{name} must be finite and > 0, got {value}') + if signal_updates < 0: + raise ValueError(f'signal_updates must be >= 0, got {signal_updates}') + self.loss_ema = None if loss_ema is None else float(loss_ema) + self.loss_reference = None if loss_reference is None else float(loss_reference) + self.signal_updates = signal_updates + + def metadata(self): + return { + 'name': self.name, + 'enabled': True, + 'signal': 'loss_ema', + 'q': self.q, + 'k': self.k, + 'b': self.b, + 'loss_ema_beta': self.loss_ema_beta, + 'warmup_updates': self.warmup_updates, + 'max_adjust': self.max_adjust, + 'min_gap': self.min_gap, + **self.runtime_metrics(), + } + + def runtime_metrics(self): + return { + 'loss_ema': self.loss_ema, + 'loss_reference': self.loss_reference, + 'correction': self.correction(), + 'signal_updates': self.signal_updates, + 'adaptive_active': self.correction_is_active(), + } + +def continuous_stage(cur_tick, double_ticks): + """Legacy fractional-stage helper retained for import compatibility. + + adaptive_v1 now uses the official integer stage and adapts only from the + loss EMA; new training code should not use this helper. + """ + if double_ticks <= 0: + raise ValueError(f'double_ticks must be > 0, got {double_ticks}') + return cur_tick / double_ticks + +#---------------------------------------------------------------------------- +# Functional one-shot interface. + +def compute_r(t, stage, schedule='sigmoid', **schedule_kwargs): + """r = compute_r(t=t, stage=stage, schedule='sigmoid', q=256, k=8, b=1)""" + return get_schedule(schedule, **schedule_kwargs).compute_r(t=t, stage=stage) + +#---------------------------------------------------------------------------- +# Quick visual check: python -m training.schedules + +if __name__ == '__main__': + t = torch.tensor([0.002, 0.02, 0.2, 2.0, 20.0, 80.0], dtype=torch.float64) + print('r/t with q=2, k=8, b=1 at t =', t.tolist()) + for name in available_schedules(): + schedule = get_schedule(name) + if name == 'adaptive_v1': + schedule.update_training_signal(10.0) + schedule.update_training_signal(7.0) + print(f'--- {name} ---') + for stage in [0, 1, 3, 7]: + ratio = schedule.compute_r(t=t, stage=stage) / t + print(f' stage {stage:>4}: ' + ' '.join(f'{v:.4f}' for v in ratio.tolist())) From ef4aa3142eb2049bd5d541d18d7278cdf758029c Mon Sep 17 00:00:00 2001 From: kangw24 <280028295+kangw24@users.noreply.github.com> Date: Tue, 21 Jul 2026 12:06:42 +0800 Subject: [PATCH 17/60] Add canonical paired A100 activation and stability evidence Add canonical-runtime paired sigmoid/adaptive activation and fresh 16 kimg stability evidence, including comparison summaries, controller telemetry, and checkpoint identities for Role D evaluation. --- .../README.md | 53 ++++ .../metadata.json | 57 ++++ .../train_summary.csv | 33 +++ .../README.md | 53 ++++ .../metadata.json | 57 ++++ .../train_summary.csv | 126 +++++++++ results/paired_comparison_a100_5344a5c9.json | 245 ++++++++++++++++++ results/paired_comparison_a100_5344a5c9.md | 57 ++++ .../README.md | 53 ++++ .../metadata.json | 57 ++++ .../train_summary.csv | 33 +++ .../sigmoid_stability_a100_5344a5c9/README.md | 52 ++++ .../metadata.json | 57 ++++ .../train_summary.csv | 126 +++++++++ 14 files changed, 1059 insertions(+) create mode 100644 results/adaptive_v1_activation_a100_5344a5c9/README.md create mode 100644 results/adaptive_v1_activation_a100_5344a5c9/metadata.json create mode 100644 results/adaptive_v1_activation_a100_5344a5c9/train_summary.csv create mode 100644 results/adaptive_v1_stability_a100_5344a5c9/README.md create mode 100644 results/adaptive_v1_stability_a100_5344a5c9/metadata.json create mode 100644 results/adaptive_v1_stability_a100_5344a5c9/train_summary.csv create mode 100644 results/paired_comparison_a100_5344a5c9.json create mode 100644 results/paired_comparison_a100_5344a5c9.md create mode 100644 results/sigmoid_activation_a100_5344a5c9/README.md create mode 100644 results/sigmoid_activation_a100_5344a5c9/metadata.json create mode 100644 results/sigmoid_activation_a100_5344a5c9/train_summary.csv create mode 100644 results/sigmoid_stability_a100_5344a5c9/README.md create mode 100644 results/sigmoid_stability_a100_5344a5c9/metadata.json create mode 100644 results/sigmoid_stability_a100_5344a5c9/train_summary.csv diff --git a/results/adaptive_v1_activation_a100_5344a5c9/README.md b/results/adaptive_v1_activation_a100_5344a5c9/README.md new file mode 100644 index 00000000..7a80f30b --- /dev/null +++ b/results/adaptive_v1_activation_a100_5344a5c9/README.md @@ -0,0 +1,53 @@ +# Adaptive v1 activation — canonical A100 paired evidence + +This directory records the clean single-GPU `adaptive_v1` activation arm of the +Role B paired campaign at commit +`5344a5c97ab461b640ad5c5413cbf57eec527c2a`, rerun in the Role A frozen +`ect-clean-validation` runtime (Python 3.9.18 / PyTorch 2.3.0 / CUDA 12.1) +against canonical dataset `08c9ed1b2b1c…` and transfer `4d5dcc1f1d0d…`. +Counterpart: `results/sigmoid_activation_a100_5344a5c9/`. Intent: paired activation evidence on frozen knobs. + +## Status + +| Property | Value | +| --- | --- | +| Evidence class | `formal_candidate` | +| Device | NVIDIA A100-PCIE-40GB (1 GPU) | +| Runtime | Python 3.9.18 / PyTorch 2.3.0 / CUDA 12.1 (`ect-clean-validation`) | +| Mode / schedule | `activation` / `adaptive_v1` | +| Duration / progress | 0.004 Mimg / 4.096 kimg | +| Dataset archive SHA-256 | `08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372` (canonical) | +| Transfer SHA-256 | `4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da` | +| Seed / batch / batch-gpu | 0 / 128 / 16 | +| Attempted / successful / skipped | 32 / 23 / 9 | +| AMP | enabled; GradScaler state saved | +| Recorded training and packaging worktrees | clean, at `5344a5c…` | +| Loss finiteness | 0 NaN / 0 Inf in `train_summary.csv` | +| Run outdir | `/root/ect-runs/paired-training-v1-canonical/adaptive-v1-activation-5344a5c9-20260721T034515Z` | + +The Collector loaded the latest network snapshot and training state and +passed the activation gate. Final controller state: 8 signal updates; first +nonzero correction at iteration 12; first adapted pair at iteration 13. +Final CSV `next_loop_cur_tick=2`. + +The console's initial maintenance report can display `loss nan` before the +statistics collector is updated; packaged CSV losses are finite. + +## Contents + +```text +results/adaptive_v1_activation_a100_5344a5c9/ +├── README.md +├── metadata.json +└── train_summary.csv +``` + +The checkpoint, network snapshot, raw log, source dataset, and transfer pickle +remain outside Git. See also `results/paired_comparison_a100_5344a5c9.{md,json}`. + +## Local artifact hashes + +```text +2979ccbf2bf19526cfef4bdd3dd3666022831954a6e0b0a3df25c896799c9131 metadata.json +95a44e8044e95408be2b5ba6cb15cb1a002b67f19de3a2e567e537b87c640132 train_summary.csv +``` diff --git a/results/adaptive_v1_activation_a100_5344a5c9/metadata.json b/results/adaptive_v1_activation_a100_5344a5c9/metadata.json new file mode 100644 index 00000000..a4ef882c --- /dev/null +++ b/results/adaptive_v1_activation_a100_5344a5c9/metadata.json @@ -0,0 +1,57 @@ +{ + "activation_gate_applied": true, + "activation_gate_passed": true, + "attempted_iterations": 32, + "batch_gpu": 16, + "cuda_version": "12.1", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "duration_mimg": 0.004, + "evidence_class": "formal_candidate", + "exact_command": "python /mnt/recurrence_of_ect/ct_train.py --data=/mnt/ect_project/datasets/cifar10-32x32.zip --outdir=/root/ect-runs/paired-training-v1-canonical/adaptive-v1-activation-5344a5c9-20260721T034515Z --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=adaptive_v1 -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --duration=0.004", + "final_adaptive_active": true, + "final_grad_scale": 128.0, + "final_loss": 30.84132099, + "final_signal_updates": 8, + "first_adapted_pair_iteration": 13, + "first_loss": 16.016312, + "first_nonzero_correction_iteration": 12, + "first_schedule_telemetry_iteration": 1, + "git_branch": "HEAD", + "git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "git_dirty": false, + "global_batch": 128, + "gpu_count": 1, + "gpu_name": "NVIDIA A100-PCIE-40GB", + "gradscaler_state_saved": true, + "inf_count": 0, + "initial_grad_scale": 65536.0, + "max_loss": 36.83664274, + "metrics_enabled": false, + "min_loss": 15.02882767, + "mode": "activation", + "nan_count": 0, + "network_snapshot": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-activation-5344a5c9-20260721T034515Z/network-snapshot-latest.pkl", + "network_snapshot_sha256": "23a8653c34f0087561fdea250ce8501489c516119f7b7dc7f5ea5c03ae3626c4", + "packaging_git_branch": "HEAD", + "packaging_git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "packaging_git_dirty": false, + "peak_vram_mib": 5916.780544, + "peak_vram_source": "torch.cuda.max_memory_allocated", + "platform": "Linux-5.15.0-56-generic-x86_64-with-glibc2.35", + "processed_kimg": 4.096, + "python_version": "3.9.18", + "schedule": "adaptive_v1", + "schedule_telemetry_available": true, + "schedule_telemetry_columns_available": true, + "schedule_telemetry_coverage": 1.0, + "schedule_telemetry_rows": 32, + "schedule_telemetry_total_rows": 32, + "seed": 0, + "skipped_steps": 9, + "successful_optimizer_steps": 23, + "torch_version": "2.3.0", + "training_state": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-activation-5344a5c9-20260721T034515Z/training-state-latest.pt", + "training_state_sha256": "ef2c93f58d7b9df944504fde66e361363312361c49fbb32ffbd0dd7fe5ad2c71", + "transfer_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "wall_time_seconds": 34.061695 +} diff --git a/results/adaptive_v1_activation_a100_5344a5c9/train_summary.csv b/results/adaptive_v1_activation_a100_5344a5c9/train_summary.csv new file mode 100644 index 00000000..e9f06783 --- /dev/null +++ b/results/adaptive_v1_activation_a100_5344a5c9/train_summary.csv @@ -0,0 +1,33 @@ +attempted_iteration,successful_optimizer_steps,processed_kimg,loss,grad_scale,step_skipped,schedule,stage,next_loop_cur_tick,loss_ema,loss_reference,correction,signal_updates,adaptive_active,r_over_t_mean,gap_mean,seconds,peak_vram_mib +1,0,0.128000,16.01631200,65536,true,adaptive_v1,0,1,,,0,0,0,0.985617611763,0.0143823882369,8.362045,5916.780544 +2,0,0.256000,15.02882767,32768,true,adaptive_v1,0,1,,,0,0,0,0.985632538854,0.0143674611461,9.648488,2134.244352 +3,0,0.384000,16.39769340,16384,true,adaptive_v1,0,1,,,0,0,0,0.985938287727,0.0140617122734,10.438255,2134.244352 +4,0,0.512000,17.54682064,8192,true,adaptive_v1,0,1,16.2474134266,,0,1,0,0.985108195351,0.0148918046487,11.249925,2134.244352 +5,0,0.640000,15.66431653,4096,true,adaptive_v1,0,1,16.2474134266,,0,1,0,0.986100688498,0.0138993115016,12.182307,2134.244352 +6,0,0.768000,16.49437988,2048,true,adaptive_v1,0,1,16.2474134266,,0,1,0,0.985309774022,0.0146902259784,13.134863,2134.244352 +7,0,0.896000,17.08746445,1024,true,adaptive_v1,0,1,16.2474134266,,0,1,0,0.985069129914,0.0149308700857,14.035901,2134.244352 +8,0,1.024000,17.72230852,512,true,adaptive_v1,0,1,16.2968838185,16.2968838185,0,2,0,0.984782394382,0.0152176056182,14.920432,2134.244352 +9,1,1.152000,15.90104389,256,false,adaptive_v1,0,1,16.2968838185,16.2968838185,0,2,0,0.985625582903,0.0143744170974,15.786350,2134.244352 +10,2,1.280000,16.46616781,256,false,adaptive_v1,0,1,16.2968838185,16.2968838185,0,2,0,0.985928909818,0.0140710901825,16.678236,2564.327424 +11,2,1.408000,30.71607447,256,true,adaptive_v1,0,1,16.2968838185,16.2968838185,0,2,0,0.985685323783,0.0143146762174,17.478609,2564.327424 +12,3,1.536000,27.74224496,128,false,adaptive_v1,0,1,16.9378337148,16.2968838185,-0.00192783824367,3,1,0.986457861945,0.0135421380545,18.274503,2564.327424 +13,4,1.664000,31.33848834,128,false,adaptive_v1,0,1,16.9378337148,16.2968838185,-0.00192783824367,3,1,0.98364708383,0.0163529161705,19.088709,2564.327424 +14,5,1.792000,32.52646732,128,false,adaptive_v1,0,1,16.9378337148,16.2968838185,-0.00192783824367,3,1,0.983132409869,0.0168675901305,19.890667,2564.327424 +15,6,1.920000,33.79554486,128,false,adaptive_v1,0,1,16.9378337148,16.2968838185,-0.00192783824367,3,1,0.982901992071,0.017098007929,20.675169,2564.327424 +16,7,2.048000,36.83664274,128,false,adaptive_v1,0,1,18.606478925,16.2968838185,-0.00658826593172,4,1,0.982265958554,0.0177340414457,21.460887,2564.327424 +17,8,2.176000,29.37876797,128,false,adaptive_v1,0,1,18.606478925,16.2968838185,-0.00658826593172,4,1,0.979306849696,0.0206931503043,22.226369,2564.327424 +18,9,2.304000,28.70139456,128,false,adaptive_v1,0,1,18.606478925,16.2968838185,-0.00658826593172,4,1,0.979396420242,0.0206035797584,22.983206,2564.327424 +19,10,2.432000,32.27698994,128,false,adaptive_v1,0,1,18.606478925,16.2968838185,-0.00658826593172,4,1,0.978465998371,0.0215340016287,23.775369,2564.327424 +20,11,2.560000,31.41321349,128,false,adaptive_v1,0,1,19.7900901814,16.2968838185,-0.00959010383081,5,1,0.978796158399,0.0212038416013,24.580052,2564.327424 +21,12,2.688000,30.56618047,128,false,adaptive_v1,0,1,19.7900901814,16.2968838185,-0.00959010383081,5,1,0.976319431967,0.0236805680328,25.387398,2564.327424 +22,13,2.816000,34.69504523,128,false,adaptive_v1,0,1,19.7900901814,16.2968838185,-0.00959010383081,5,1,0.975113701384,0.0248862986161,26.149624,2564.327424 +23,14,2.944000,32.75855541,128,false,adaptive_v1,0,1,19.7900901814,16.2968838185,-0.00959010383081,5,1,0.975447706537,0.0245522934631,26.934554,2564.327424 +24,15,3.072000,31.22914171,128,false,adaptive_v1,0,1,21.0423042338,16.2968838185,-0.0125069454013,6,1,0.975759059134,0.0242409408665,27.693291,2564.327424 +25,16,3.200000,29.34960127,128,false,adaptive_v1,0,1,21.0423042338,16.2968838185,-0.0125069454013,6,1,0.972903518934,0.0270964810664,28.462692,2564.327424 +26,17,3.328000,29.18565464,128,false,adaptive_v1,0,1,21.0423042338,16.2968838185,-0.0125069454013,6,1,0.973537593592,0.0264624064079,29.245480,2564.327424 +27,18,3.456000,31.27704358,128,false,adaptive_v1,0,1,21.0423042338,16.2968838185,-0.0125069454013,6,1,0.972873155036,0.0271268449644,30.062140,2564.327424 +28,19,3.584000,33.48717690,128,false,adaptive_v1,0,1,22.0205607201,16.2968838185,-0.0146114967935,7,1,0.972195424935,0.0278045750652,30.930688,2564.327424 +29,20,3.712000,29.25998187,128,false,adaptive_v1,0,1,22.0205607201,16.2968838185,-0.0146114967935,7,1,0.971488063061,0.0285119369388,31.770448,2564.327424 +30,21,3.840000,31.58815980,128,false,adaptive_v1,0,1,22.0205607201,16.2968838185,-0.0146114967935,7,1,0.970609848502,0.029390151498,32.544434,2564.327424 +31,22,3.968000,29.43551421,128,false,adaptive_v1,0,1,22.0205607201,16.2968838185,-0.0146114967935,7,1,0.97117428416,0.0288257158396,33.309623,2564.327424 +32,23,4.096000,30.84132099,128,false,adaptive_v1,0,2,22.8466290699,16.2968838185,-0.0162769219282,8,1,0.970930917088,0.0290690829121,34.061695,2564.327424 diff --git a/results/adaptive_v1_stability_a100_5344a5c9/README.md b/results/adaptive_v1_stability_a100_5344a5c9/README.md new file mode 100644 index 00000000..1305701f --- /dev/null +++ b/results/adaptive_v1_stability_a100_5344a5c9/README.md @@ -0,0 +1,53 @@ +# Adaptive v1 stability — canonical A100 paired evidence (fresh 16 kimg) + +This directory records the clean single-GPU `adaptive_v1` stability arm of the +Role B paired campaign at commit +`5344a5c97ab461b640ad5c5413cbf57eec527c2a`, rerun in the Role A frozen +`ect-clean-validation` runtime (Python 3.9.18 / PyTorch 2.3.0 / CUDA 12.1) +against canonical dataset `08c9ed1b2b1c…` and transfer `4d5dcc1f1d0d…`. +Counterpart: `results/sigmoid_stability_a100_5344a5c9/`. Intent: independent fresh 16 kimg stability evidence (not an activation→stability resume). + +## Status + +| Property | Value | +| --- | --- | +| Evidence class | `formal_candidate` | +| Device | NVIDIA A100-PCIE-40GB (1 GPU) | +| Runtime | Python 3.9.18 / PyTorch 2.3.0 / CUDA 12.1 (`ect-clean-validation`) | +| Mode / schedule | `stability` / `adaptive_v1` | +| Duration / progress | 0.016 Mimg / 16.0 kimg | +| Dataset archive SHA-256 | `08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372` (canonical) | +| Transfer SHA-256 | `4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da` | +| Seed / batch / batch-gpu | 0 / 128 / 16 | +| Attempted / successful / skipped | 125 / 116 / 9 | +| AMP | enabled; GradScaler state saved | +| Recorded training and packaging worktrees | clean, at `5344a5c…` | +| Loss finiteness | 0 NaN / 0 Inf in `train_summary.csv` | +| Run outdir | `/root/ect-runs/paired-training-v1-canonical/adaptive-v1-stability-5344a5c9-20260721T034800Z` | + +**Fresh run (not resume):** `exact_command` uses `--transfer=...` and +`--duration=0.016` with no `--resume`. This is an independent fresh 16 kimg +stability arm, not a continuation of the activation training-state. + +The Collector loaded the latest network snapshot and training state. +Final controller state: 32 signal updates; first nonzero correction at +iteration 12; first adapted pair at iteration 13. + +## Contents + +```text +results/adaptive_v1_stability_a100_5344a5c9/ +├── README.md +├── metadata.json +└── train_summary.csv +``` + +The checkpoint, network snapshot, raw log, source dataset, and transfer pickle +remain outside Git. See also `results/paired_comparison_a100_5344a5c9.{md,json}`. + +## Local artifact hashes + +```text +461dc741618c2a6ed1785722ebf29411bc806c6ba585a8cc6956ab391e55908c metadata.json +40a12e6816145cc1f7a0d93a873d2b53fabdbf324ca9820087989319f94770e5 train_summary.csv +``` diff --git a/results/adaptive_v1_stability_a100_5344a5c9/metadata.json b/results/adaptive_v1_stability_a100_5344a5c9/metadata.json new file mode 100644 index 00000000..885406b7 --- /dev/null +++ b/results/adaptive_v1_stability_a100_5344a5c9/metadata.json @@ -0,0 +1,57 @@ +{ + "activation_gate_applied": false, + "activation_gate_passed": null, + "attempted_iterations": 125, + "batch_gpu": 16, + "cuda_version": "12.1", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "duration_mimg": 0.016, + "evidence_class": "formal_candidate", + "exact_command": "python /mnt/recurrence_of_ect/ct_train.py --data=/mnt/ect_project/datasets/cifar10-32x32.zip --outdir=/root/ect-runs/paired-training-v1-canonical/adaptive-v1-stability-5344a5c9-20260721T034800Z --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=adaptive_v1 -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --duration=0.016", + "final_adaptive_active": true, + "final_grad_scale": 128.0, + "final_loss": 26.70842981, + "final_signal_updates": 32, + "first_adapted_pair_iteration": 13, + "first_loss": 15.9766382, + "first_nonzero_correction_iteration": 12, + "first_schedule_telemetry_iteration": 1, + "git_branch": "HEAD", + "git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "git_dirty": false, + "global_batch": 128, + "gpu_count": 1, + "gpu_name": "NVIDIA A100-PCIE-40GB", + "gradscaler_state_saved": true, + "inf_count": 0, + "initial_grad_scale": 65536.0, + "max_loss": 37.18239355, + "metrics_enabled": false, + "min_loss": 15.02455795, + "mode": "stability", + "nan_count": 0, + "network_snapshot": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-stability-5344a5c9-20260721T034800Z/network-snapshot-latest.pkl", + "network_snapshot_sha256": "7d162808dc98deec28d269693cba4242b97e52d8431017fe9e45a54a8c3d151a", + "packaging_git_branch": "HEAD", + "packaging_git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "packaging_git_dirty": false, + "peak_vram_mib": 5916.343296, + "peak_vram_source": "torch.cuda.max_memory_allocated", + "platform": "Linux-5.15.0-56-generic-x86_64-with-glibc2.35", + "processed_kimg": 16.0, + "python_version": "3.9.18", + "schedule": "adaptive_v1", + "schedule_telemetry_available": true, + "schedule_telemetry_columns_available": true, + "schedule_telemetry_coverage": 1.0, + "schedule_telemetry_rows": 125, + "schedule_telemetry_total_rows": 125, + "seed": 0, + "skipped_steps": 9, + "successful_optimizer_steps": 116, + "torch_version": "2.3.0", + "training_state": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-stability-5344a5c9-20260721T034800Z/training-state-latest.pt", + "training_state_sha256": "269e2ec3b0b4edadddd2bc251338995962b31ea206106b0bfa24083e7210fd83", + "transfer_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "wall_time_seconds": 104.959755 +} diff --git a/results/adaptive_v1_stability_a100_5344a5c9/train_summary.csv b/results/adaptive_v1_stability_a100_5344a5c9/train_summary.csv new file mode 100644 index 00000000..45cb638d --- /dev/null +++ b/results/adaptive_v1_stability_a100_5344a5c9/train_summary.csv @@ -0,0 +1,126 @@ +attempted_iteration,successful_optimizer_steps,processed_kimg,loss,grad_scale,step_skipped,schedule,stage,next_loop_cur_tick,loss_ema,loss_reference,correction,signal_updates,adaptive_active,r_over_t_mean,gap_mean,seconds,peak_vram_mib +1,0,0.128000,15.97663820,65536,true,adaptive_v1,0,1,,,0,0,0,0.985617611763,0.0143823882369,8.313589,5916.343296 +2,0,0.256000,15.02455795,32768,true,adaptive_v1,0,1,,,0,0,0,0.985632538854,0.0143674611461,9.626764,2136.822784 +3,0,0.384000,16.38218355,16384,true,adaptive_v1,0,1,,,0,0,0,0.985938287727,0.0140617122734,10.399148,2136.822784 +4,0,0.512000,17.54660499,8192,true,adaptive_v1,0,1,16.2324961722,,0,1,0,0.985108195351,0.0148918046487,11.173487,2136.822784 +5,0,0.640000,15.65527940,4096,true,adaptive_v1,0,1,16.2324961722,,0,1,0,0.986100688498,0.0138993115016,11.920606,2136.822784 +6,0,0.768000,16.49589241,2048,true,adaptive_v1,0,1,16.2324961722,,0,1,0,0.985309774022,0.0146902259784,12.665826,2136.822784 +7,0,0.896000,17.07062507,1024,true,adaptive_v1,0,1,16.2324961722,,0,1,0,0.985069129914,0.0149308700857,13.434455,2136.822784 +8,0,1.024000,17.72678792,512,true,adaptive_v1,0,1,16.2829611748,16.2829611748,0,2,0,0.984782394382,0.0152176056182,14.185811,2136.822784 +9,1,1.152000,15.91043890,256,false,adaptive_v1,0,1,16.2829611748,16.2829611748,0,2,0,0.985625582903,0.0143744170974,15.015316,2136.822784 +10,2,1.280000,16.55839896,256,false,adaptive_v1,0,1,16.2829611748,16.2829611748,0,2,0,0.985928909818,0.0140710901825,15.781751,2562.343936 +11,2,1.408000,30.67288423,256,true,adaptive_v1,0,1,16.2829611748,16.2829611748,0,2,0,0.985685323783,0.0143146762174,16.522214,2562.343936 +12,3,1.536000,27.70777225,128,false,adaptive_v1,0,1,16.9259024158,16.2829611748,-0.00193532770471,3,1,0.986457861945,0.0135421380545,17.269210,2562.343936 +13,4,1.664000,31.32968545,128,false,adaptive_v1,0,1,16.9259024158,16.2829611748,-0.00193532770471,3,1,0.983639638144,0.0163603618555,18.033282,2562.343936 +14,5,1.792000,32.67659473,128,false,adaptive_v1,0,1,16.9259024158,16.2829611748,-0.00193532770471,3,1,0.983124958749,0.0168750412506,18.792103,2562.343936 +15,6,1.920000,34.10626149,128,false,adaptive_v1,0,1,16.9259024158,16.2829611748,-0.00193532770471,3,1,0.982894543371,0.0171054566294,19.567079,2562.343936 +16,7,2.048000,37.18239355,128,false,adaptive_v1,0,1,18.6156855549,16.2829611748,-0.00665455090391,4,1,0.982258505989,0.0177414940113,20.332182,2562.343936 +17,8,2.176000,29.60441709,128,false,adaptive_v1,0,1,18.6156855549,16.2829611748,-0.00665455090391,4,1,0.979240572727,0.0207594272734,21.076038,2562.343936 +18,9,2.304000,28.97537351,128,false,adaptive_v1,0,1,18.6156855549,16.2829611748,-0.00665455090391,4,1,0.979330141848,0.0206698581519,21.842620,2562.343936 +19,10,2.432000,32.55057311,128,false,adaptive_v1,0,1,18.6156855549,16.2829611748,-0.00665455090391,4,1,0.978399716154,0.0216002838463,22.590130,2562.343936 +20,11,2.560000,31.69956326,128,false,adaptive_v1,0,1,19.8248651736,16.2829611748,-0.00971575561908,5,1,0.9787298788,0.0212701211997,23.340933,2562.343936 +21,12,2.688000,30.82984829,128,false,adaptive_v1,0,1,19.8248651736,16.2829611748,-0.00971575561908,5,1,0.976193786884,0.0238062131163,24.082896,2562.343936 +22,13,2.816000,35.03415823,128,false,adaptive_v1,0,1,19.8248651736,16.2829611748,-0.00971575561908,5,1,0.974988053881,0.0250119461186,24.834734,2562.343936 +23,14,2.944000,33.08136415,128,false,adaptive_v1,0,1,19.8248651736,16.2829611748,-0.00971575561908,5,1,0.975322056928,0.0246779430721,25.587462,2562.343936 +24,15,3.072000,31.50933337,128,false,adaptive_v1,0,1,21.1037462574,16.2829611748,-0.0126835002139,6,1,0.975633409659,0.0243665903406,26.353788,2562.343936 +25,16,3.200000,29.58910108,128,false,adaptive_v1,0,1,21.1037462574,16.2829611748,-0.0126835002139,6,1,0.972726970027,0.0272730299733,27.229794,2562.343936 +26,17,3.328000,29.42235088,128,false,adaptive_v1,0,1,21.1037462574,16.2829611748,-0.0126835002139,6,1,0.973361046743,0.0266389532568,28.051902,2562.343936 +27,18,3.456000,31.57755828,128,false,adaptive_v1,0,1,21.1037462574,16.2829611748,-0.0126835002139,6,1,0.97269660548,0.0273033945204,28.810299,2562.343936 +28,19,3.584000,33.80886889,128,false,adaptive_v1,0,1,22.1033186097,16.2829611748,-0.0148218378177,7,1,0.972018874634,0.0279811253658,29.567961,2562.343936 +29,20,3.712000,29.53563809,128,false,adaptive_v1,0,1,22.1033186097,16.2829611748,-0.0148218378177,7,1,0.971277720877,0.028722279123,30.337049,2562.343936 +30,21,3.840000,31.86001921,128,false,adaptive_v1,0,1,22.1033186097,16.2829611748,-0.0148218378177,7,1,0.970399499954,0.0296005000463,31.085363,2562.343936 +31,22,3.968000,29.66290450,128,false,adaptive_v1,0,1,22.1033186097,16.2829611748,-0.0148218378177,7,1,0.970963937762,0.0290360622379,31.878030,2562.343936 +32,23,4.096000,31.15775990,128,false,adaptive_v1,0,1,22.9483947914,16.2829611748,-0.0165133875179,8,1,0.970720573329,0.0292794266712,32.701895,2562.343936 +33,24,4.224000,32.62916374,128,false,adaptive_v1,0,1,22.9483947914,16.2829611748,-0.0165133875179,8,1,0.968651747834,0.0313482521656,33.497206,2562.343936 +34,25,4.352000,32.04628134,128,false,adaptive_v1,0,1,22.9483947914,16.2829611748,-0.0165133875179,8,1,0.968951724768,0.0310482752325,34.291795,2562.343936 +35,26,4.480000,31.18299150,128,false,adaptive_v1,0,1,22.9483947914,16.2829611748,-0.0165133875179,8,1,0.969026838328,0.0309731616717,35.065301,2562.343936 +36,27,4.608000,31.00384045,128,false,adaptive_v1,0,1,23.8251122381,16.2829611748,-0.0181623292593,9,1,0.968873559699,0.0311264403007,35.900362,2562.343936 +37,28,4.736000,29.37427664,128,false,adaptive_v1,0,1,23.8251122381,16.2829611748,-0.0181623292593,9,1,0.967717008574,0.0322829914256,36.720065,2562.343936 +38,29,4.864000,30.00233054,128,false,adaptive_v1,0,1,23.8251122381,16.2829611748,-0.0181623292593,9,1,0.967249426252,0.0327505737479,37.519842,2562.343936 +39,30,4.992000,30.26888275,128,false,adaptive_v1,0,1,23.8251122381,16.2829611748,-0.0181623292593,9,1,0.967669342066,0.0323306579341,38.302731,2562.343936 +40,31,5.120000,28.23508620,128,false,adaptive_v1,0,1,24.3896154176,16.2829611748,-0.0191699449526,10,1,0.968117838742,0.031882161258,39.087002,2562.343936 +41,32,5.248000,35.07940674,128,false,adaptive_v1,0,1,24.3896154176,16.2829611748,-0.0191699449526,10,1,0.965306219955,0.0346937800446,39.866565,2562.343936 +42,33,5.376000,32.00740552,128,false,adaptive_v1,0,1,24.3896154176,16.2829611748,-0.0191699449526,10,1,0.966226991067,0.0337730089332,40.620031,2562.343936 +43,34,5.504000,31.37236452,128,false,adaptive_v1,0,1,25.2326264351,16.2829611748,-0.0206000368411,11,1,0.96596147253,0.0340385274703,41.382455,2562.343936 +44,35,5.632000,30.98580527,128,false,adaptive_v1,0,1,25.2326264351,16.2829611748,-0.0206000368411,11,1,0.965019778428,0.0349802215715,42.141641,2562.343936 +45,36,5.760000,32.62795520,128,false,adaptive_v1,0,1,25.2326264351,16.2829611748,-0.0206000368411,11,1,0.964417006371,0.0355829936291,42.947067,2562.343936 +46,37,5.888000,27.22335553,128,false,adaptive_v1,0,1,25.2326264351,16.2829611748,-0.0206000368411,11,1,0.965727076106,0.0342729238939,43.712546,2562.343936 +47,38,6.016000,29.12899470,128,false,adaptive_v1,0,1,25.7085165593,16.2829611748,-0.0213696665006,12,1,0.965479037679,0.0345209623207,44.469402,2562.343936 +48,39,6.144000,29.90916681,128,false,adaptive_v1,0,1,25.7085165593,16.2829611748,-0.0213696665006,12,1,0.964206211162,0.0357937888376,45.236102,2562.343936 +49,40,6.272000,28.62142992,128,false,adaptive_v1,0,1,25.7085165593,16.2829611748,-0.0213696665006,12,1,0.964475073094,0.0355249269063,46.007346,2562.343936 +50,41,6.400000,32.24996042,128,false,adaptive_v1,0,1,25.7085165593,16.2829611748,-0.0213696665006,12,1,0.963821032661,0.0361789673386,46.805637,2562.343936 +51,42,6.528000,28.64594865,128,false,adaptive_v1,0,1,26.1233275485,16.2829611748,-0.0220192951895,13,1,0.964234727161,0.0357652728394,47.592629,2562.343936 +52,43,6.656000,32.01491094,128,false,adaptive_v1,0,1,26.1233275485,16.2829611748,-0.0220192951895,13,1,0.96291613558,0.0370838644201,48.367822,2562.343936 +53,44,6.784000,32.41565466,128,false,adaptive_v1,0,1,26.1233275485,16.2829611748,-0.0220192951895,13,1,0.963063710156,0.0369362898441,49.147854,2562.343936 +54,45,6.912000,30.86878514,128,false,adaptive_v1,0,1,26.1233275485,16.2829611748,-0.0220192951895,13,1,0.963479791051,0.0365202089492,49.924224,2562.343936 +55,46,7.040000,30.61588931,128,false,adaptive_v1,0,1,26.6588757948,16.2829611748,-0.0228298276014,14,1,0.96349601089,0.0365039891102,50.714726,2562.343936 +56,47,7.168000,32.33547163,128,false,adaptive_v1,0,1,26.6588757948,16.2829611748,-0.0228298276014,14,1,0.962144116408,0.037855883592,51.497789,2562.343936 +57,48,7.296000,30.96527481,128,false,adaptive_v1,0,1,26.6588757948,16.2829611748,-0.0228298276014,14,1,0.962540391542,0.037459608458,52.281472,2562.343936 +58,49,7.424000,26.79680467,128,false,adaptive_v1,0,1,26.6588757948,16.2829611748,-0.0228298276014,14,1,0.963401058326,0.0365989416743,53.062032,2562.343936 +59,50,7.552000,26.07085490,128,false,adaptive_v1,0,1,26.8971983656,16.2829611748,-0.0231806184759,15,1,0.963816880521,0.0361831194789,53.837512,2562.343936 +60,51,7.680000,29.62048173,128,false,adaptive_v1,0,1,26.8971983656,16.2829611748,-0.0231806184759,15,1,0.962403901361,0.0375960986391,54.620147,2562.343936 +61,52,7.808000,30.17025948,128,false,adaptive_v1,0,1,26.8971983656,16.2829611748,-0.0231806184759,15,1,0.962183359947,0.0378166400529,55.415897,2562.343936 +62,53,7.936000,30.85712767,128,false,adaptive_v1,0,1,26.8971983656,16.2829611748,-0.0231806184759,15,1,0.962027468665,0.0379725313345,56.232022,2562.343936 +63,54,8.064000,28.89059734,128,false,adaptive_v1,0,1,27.1959401844,16.2829611748,-0.0236119659124,16,1,0.962913907709,0.037086092291,57.026727,2562.343936 +64,55,8.192000,31.52848101,128,false,adaptive_v1,0,1,27.1959401844,16.2829611748,-0.0236119659124,16,1,0.961394195083,0.0386058049167,57.799329,2562.343936 +65,56,8.320000,28.66950393,128,false,adaptive_v1,0,1,27.1959401844,16.2829611748,-0.0236119659124,16,1,0.962139847004,0.0378601529964,58.558304,2562.343936 +66,57,8.448000,28.55835652,128,false,adaptive_v1,0,1,27.1959401844,16.2829611748,-0.0236119659124,16,1,0.962183017981,0.0378169820194,59.330821,2562.343936 +67,58,8.576000,28.60564804,128,false,adaptive_v1,0,1,27.4103959034,16.2829611748,-0.0239159812093,17,1,0.962256135432,0.0377438645676,60.172116,2562.343936 +68,59,8.704000,26.84803796,128,false,adaptive_v1,0,1,27.4103959034,16.2829611748,-0.0239159812093,17,1,0.962529131194,0.037470868806,61.019303,2562.343936 +69,60,8.832000,28.50754046,128,false,adaptive_v1,0,1,27.4103959034,16.2829611748,-0.0239159812093,17,1,0.961929128301,0.0380708716993,61.863632,2562.343936 +70,61,8.960000,30.14086223,128,false,adaptive_v1,0,1,27.4103959034,16.2829611748,-0.0239159812093,17,1,0.961562340784,0.038437659216,62.702519,2562.343936 +71,62,9.088000,26.40198660,128,false,adaptive_v1,0,1,27.4668169943,16.2829611748,-0.0239951939198,18,1,0.962291432434,0.0377085675656,63.547429,2562.343936 +72,63,9.216000,31.66188502,128,false,adaptive_v1,0,1,27.4668169943,16.2829611748,-0.0239951939198,18,1,0.961010068412,0.0389899315877,64.392579,2562.343936 +73,64,9.344000,25.94698739,128,false,adaptive_v1,0,1,27.4668169943,16.2829611748,-0.0239951939198,18,1,0.962454944628,0.0375450553724,65.201348,2562.343936 +74,65,9.472000,28.92313361,128,false,adaptive_v1,0,1,27.4668169943,16.2829611748,-0.0239951939198,18,1,0.961856657077,0.0381433429231,65.957515,2562.343936 +75,66,9.600000,31.81356645,128,false,adaptive_v1,0,1,27.6787746066,16.2829611748,-0.0242899411512,19,1,0.96128811036,0.0387118896398,66.702927,2562.343936 +76,67,9.728000,29.64898729,128,false,adaptive_v1,0,1,27.6787746066,16.2829611748,-0.0242899411512,19,1,0.961064767836,0.0389352321641,67.466197,2562.343936 +77,68,9.856000,31.84807062,128,false,adaptive_v1,0,1,27.6787746066,16.2829611748,-0.0242899411512,19,1,0.960594076777,0.0394059232231,68.229060,2562.343936 +78,69,9.984000,31.91280270,128,false,adaptive_v1,0,1,27.6787746066,16.2829611748,-0.0242899411512,19,1,0.960715946995,0.0392840530048,68.988792,2562.343936 +79,70,10.112000,30.98424244,128,false,adaptive_v1,0,1,28.0207497222,16.2829611748,-0.0247562104688,20,1,0.960922194984,0.0390778050155,69.732344,2562.343936 +80,71,10.240000,28.69463515,128,false,adaptive_v1,0,1,28.0207497222,16.2829611748,-0.0247562104688,20,1,0.960731244336,0.0392687556637,70.480608,2562.343936 +81,72,10.368000,31.19649458,128,false,adaptive_v1,0,1,28.0207497222,16.2829611748,-0.0247562104688,20,1,0.960336801412,0.0396631985877,71.232843,2562.343936 +82,73,10.496000,28.40584731,128,false,adaptive_v1,0,1,28.0207497222,16.2829611748,-0.0247562104688,20,1,0.960970470454,0.0390295295464,71.990051,2562.343936 +83,74,10.624000,29.21445751,128,false,adaptive_v1,0,1,28.1564606139,16.2829611748,-0.0249381286666,21,1,0.961033418323,0.0389665816768,72.760911,2562.343936 +84,75,10.752000,29.84328389,128,false,adaptive_v1,0,1,28.1564606139,16.2829611748,-0.0249381286666,21,1,0.960373921817,0.0396260781829,73.512583,2562.343936 +85,76,10.880000,28.58314419,128,false,adaptive_v1,0,1,28.1564606139,16.2829611748,-0.0249381286666,21,1,0.96066914388,0.0393308561201,74.260066,2562.343936 +86,77,11.008000,32.92602134,128,false,adaptive_v1,0,1,28.3858961997,16.2829611748,-0.0252417286374,22,1,0.959455152912,0.0405448470876,75.030391,2562.343936 +87,78,11.136000,29.46321082,128,false,adaptive_v1,0,1,28.3858961997,16.2829611748,-0.0252417286374,22,1,0.960304184977,0.0396958150228,75.793289,2562.343936 +88,79,11.264000,29.86178303,128,false,adaptive_v1,0,1,28.3858961997,16.2829611748,-0.0252417286374,22,1,0.959890102761,0.0401098972385,76.555132,2562.343936 +89,80,11.392000,30.37560129,128,false,adaptive_v1,0,1,28.3858961997,16.2829611748,-0.0252417286374,22,1,0.959942229353,0.040057770647,77.322162,2562.343936 +90,81,11.520000,30.00964117,128,false,adaptive_v1,0,1,28.5400624875,16.2829611748,-0.0254429754712,23,1,0.960074710596,0.0399252894039,78.095394,2562.343936 +91,82,11.648000,27.35222626,128,false,adaptive_v1,0,1,28.5400624875,16.2829611748,-0.0254429754712,23,1,0.960526894922,0.0394731050784,78.865555,2562.343936 +92,83,11.776000,27.63838315,128,false,adaptive_v1,0,1,28.5400624875,16.2829611748,-0.0254429754712,23,1,0.96023076505,0.0397692349504,79.636715,2562.343936 +93,84,11.904000,30.00267339,128,false,adaptive_v1,0,1,28.5400624875,16.2829611748,-0.0254429754712,23,1,0.959920715411,0.0400792845892,80.391545,2562.343936 +94,85,12.032000,27.29037952,128,false,adaptive_v1,0,1,28.4931477968,16.2829611748,-0.0253819657533,24,1,0.960374724676,0.0396252753243,81.141696,2562.343936 +95,86,12.160000,28.18318200,128,false,adaptive_v1,0,1,28.4931477968,16.2829611748,-0.0253819657533,24,1,0.96050415772,0.0394958422802,81.891331,2562.343936 +96,87,12.288000,28.11541748,128,false,adaptive_v1,0,1,28.4931477968,16.2829611748,-0.0253819657533,24,1,0.960075936977,0.0399240630232,82.702400,2562.343936 +97,88,12.416000,24.86192584,128,false,adaptive_v1,0,1,28.4931477968,16.2829611748,-0.0253819657533,24,1,0.961381329955,0.0386186700453,83.474302,2562.343936 +98,89,12.544000,28.79258776,128,false,adaptive_v1,0,1,28.3926608441,16.2829611748,-0.0252506052537,25,1,0.959917168843,0.0400828311575,84.216097,2562.343936 +99,90,12.672000,30.40980554,128,false,adaptive_v1,0,1,28.3926608441,16.2829611748,-0.0252506052537,25,1,0.959787005494,0.0402129945057,84.968122,2562.343936 +100,91,12.800000,30.19100571,128,false,adaptive_v1,0,1,28.3926608441,16.2829611748,-0.0252506052537,25,1,0.959805124192,0.0401948758079,85.734135,2562.343936 +101,92,12.928000,27.08267021,128,false,adaptive_v1,0,1,28.3926608441,16.2829611748,-0.0252506052537,25,1,0.96042191127,0.0395780887302,86.519548,2562.343936 +102,93,13.056000,30.94253778,128,false,adaptive_v1,0,1,28.5190452406,16.2829611748,-0.0254156688372,26,1,0.959817264743,0.0401827352573,87.326246,2562.343936 +103,94,13.184000,28.20926380,128,false,adaptive_v1,0,1,28.5190452406,16.2829611748,-0.0254156688372,26,1,0.96006936166,0.0399306383402,88.091506,2562.343936 +104,95,13.312000,26.86908793,128,false,adaptive_v1,0,1,28.5190452406,16.2829611748,-0.0254156688372,26,1,0.960484665594,0.0395153344064,88.878816,2562.343936 +105,96,13.440000,26.99653435,128,false,adaptive_v1,0,1,28.5190452406,16.2829611748,-0.0254156688372,26,1,0.959969130133,0.0400308698669,89.646128,2562.343936 +106,97,13.568000,28.46373582,128,false,adaptive_v1,0,1,28.4306062641,16.2829611748,-0.0253003187973,27,1,0.960081469527,0.0399185304728,90.412127,2562.343936 +107,98,13.696000,29.60373855,128,false,adaptive_v1,0,1,28.4306062641,16.2829611748,-0.0253003187973,27,1,0.959928690235,0.0400713097653,91.165421,2562.343936 +108,99,13.824000,29.67059112,128,false,adaptive_v1,0,1,28.4306062641,16.2829611748,-0.0253003187973,27,1,0.959918487932,0.0400815120678,91.933588,2562.343936 +109,100,13.952000,29.30705953,128,false,adaptive_v1,0,1,28.4306062641,16.2829611748,-0.0253003187973,27,1,0.960053246548,0.0399467534521,92.711182,2562.343936 +110,101,14.080000,27.73708701,128,false,adaptive_v1,0,1,28.4955075427,16.2829611748,-0.0253850392971,28,1,0.959912486621,0.0400875133795,93.482781,2562.343936 +111,102,14.208000,30.04300690,128,false,adaptive_v1,0,1,28.4955075427,16.2829611748,-0.0253850392971,28,1,0.95941072524,0.0405892747602,94.254280,2562.343936 +112,103,14.336000,25.32697582,128,false,adaptive_v1,0,1,28.4955075427,16.2829611748,-0.0253850392971,28,1,0.961010122603,0.0389898773965,95.032947,2562.343936 +113,104,14.464000,29.53296280,128,false,adaptive_v1,0,1,28.4955075427,16.2829611748,-0.0253850392971,28,1,0.959803235551,0.0401967644494,95.808244,2562.343936 +114,105,14.592000,29.11546397,128,false,adaptive_v1,0,1,28.4964170257,16.2829611748,-0.025386223752,29,1,0.959734974917,0.0402650250834,96.573755,2562.343936 +115,106,14.720000,28.60022688,128,false,adaptive_v1,0,1,28.4964170257,16.2829611748,-0.025386223752,29,1,0.960037526095,0.0399624739051,97.326815,2562.343936 +116,107,14.848000,24.97299719,128,false,adaptive_v1,0,1,28.4964170257,16.2829611748,-0.025386223752,29,1,0.960669858842,0.0393301411584,98.094888,2562.343936 +117,108,14.976000,26.93034554,128,false,adaptive_v1,0,1,28.4964170257,16.2829611748,-0.025386223752,29,1,0.960580599002,0.0394194009984,98.847855,2562.343936 +118,109,15.104000,28.03946805,128,false,adaptive_v1,0,1,28.3603512645,16.2829611748,-0.0252081700182,30,1,0.96001007349,0.0399899265101,99.612727,2562.343936 +119,110,15.232000,26.07903409,128,false,adaptive_v1,0,1,28.3603512645,16.2829611748,-0.0252081700182,30,1,0.960681190408,0.0393188095918,100.377354,2562.343936 +120,111,15.360000,25.40577686,128,false,adaptive_v1,0,1,28.3603512645,16.2829611748,-0.0252081700182,30,1,0.9609714558,0.0390285442003,101.144194,2562.343936 +121,112,15.488000,25.89758492,128,false,adaptive_v1,0,1,28.3603512645,16.2829611748,-0.0252081700182,30,1,0.960781159341,0.0392188406585,101.908779,2562.343936 +122,113,15.616000,26.81858301,128,false,adaptive_v1,0,1,28.1293406099,16.2829611748,-0.0249019147152,31,1,0.960725850968,0.039274149032,102.665916,2562.343936 +123,114,15.744000,28.06442571,128,false,adaptive_v1,0,1,28.1293406099,16.2829611748,-0.0249019147152,31,1,0.960166708536,0.0398332914637,103.436256,2562.343936 +124,115,15.872000,26.93015647,128,false,adaptive_v1,0,1,28.1293406099,16.2829611748,-0.0249019147152,31,1,0.960670019191,0.0393299808094,104.201974,2562.343936 +125,116,16.000000,26.70842981,128,false,adaptive_v1,0,2,28.0398402819,16.2829611748,-0.0247819071088,32,1,0.96108821038,0.0389117896204,104.959755,2562.343936 diff --git a/results/paired_comparison_a100_5344a5c9.json b/results/paired_comparison_a100_5344a5c9.json new file mode 100644 index 00000000..291156a4 --- /dev/null +++ b/results/paired_comparison_a100_5344a5c9.json @@ -0,0 +1,245 @@ +{ + "schema_version": 1, + "campaign": "role-b-paired-activation-stability-canonical-rerun", + "train_and_packaging_git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "runtime_environment": { + "name": "ect-clean-validation", + "python": "3.9.18", + "pytorch": "2.3.0", + "cuda": "12.1", + "gpu": "NVIDIA A100-PCIE-40GB" + }, + "path_policy": { + "runs_root": "/root/ect-runs/paired-training-v1-canonical", + "mnt_runs": "/mnt/ect_project/runs", + "root_runs": "/root/ect-runs", + "same_directory": false, + "note": "All four canonical reruns use /root/ect-runs/... exclusively. /mnt/ect_project/runs and /root/ect-runs are distinct directories (not symlinks). Prior PR #17 sigmoid activation path mismatch was caused by training under /mnt then moving the run tree to /root before packaging." + }, + "stability_semantics": { + "kind": "independent_fresh_16_kimg", + "resumed_from_activation": false, + "note": "Stability arms are fresh --transfer runs with --duration=0.016, not resumes from activation training-state." + }, + "determinism_note": "Configs and assets are identical across arms; CUDA/cuDNN kernels are not guaranteed bit-identical across independent processes. Pre-correction r_over_t_mean matches; early losses may differ slightly.", + "runs": { + "sigmoid-activation-5344a5c9": { + "schedule": "sigmoid", + "mode": "activation", + "run_dir": "/root/ect-runs/paired-training-v1-canonical/sigmoid-activation-5344a5c9-20260721T034424Z", + "git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "python_version": "3.9.18", + "torch_version": "2.3.0", + "cuda_version": "12.1", + "gpu_name": "NVIDIA A100-PCIE-40GB", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "transfer_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "attempted_iterations": 32, + "successful_optimizer_steps": 23, + "skipped_steps": 9, + "processed_kimg": 4.096, + "final_loss": 31.09924078, + "wall_time_seconds": 37.588446, + "peak_vram_mib": 5916.530688, + "nan_count": 0, + "inf_count": 0, + "network_snapshot": "/root/ect-runs/paired-training-v1-canonical/sigmoid-activation-5344a5c9-20260721T034424Z/network-snapshot-latest.pkl", + "network_snapshot_sha256": "248e4638e833389d078ec8d09726113d76d283b480479481e028b9e0560f9957", + "training_state": "/root/ect-runs/paired-training-v1-canonical/sigmoid-activation-5344a5c9-20260721T034424Z/training-state-latest.pt", + "training_state_sha256": "09b5c61d980f4d34307c7835d390ee4b740ddf97f81390565ef2678d28da2576", + "exact_command": "python /mnt/recurrence_of_ect/ct_train.py --data=/mnt/ect_project/datasets/cifar10-32x32.zip --outdir=/root/ect-runs/paired-training-v1-canonical/sigmoid-activation-5344a5c9-20260721T034424Z --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=sigmoid -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --duration=0.004", + "fresh_transfer_not_resume": true + }, + "adaptive-v1-activation-5344a5c9": { + "schedule": "adaptive_v1", + "mode": "activation", + "run_dir": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-activation-5344a5c9-20260721T034515Z", + "git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "python_version": "3.9.18", + "torch_version": "2.3.0", + "cuda_version": "12.1", + "gpu_name": "NVIDIA A100-PCIE-40GB", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "transfer_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "attempted_iterations": 32, + "successful_optimizer_steps": 23, + "skipped_steps": 9, + "processed_kimg": 4.096, + "final_loss": 30.84132099, + "wall_time_seconds": 34.061695, + "peak_vram_mib": 5916.780544, + "nan_count": 0, + "inf_count": 0, + "network_snapshot": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-activation-5344a5c9-20260721T034515Z/network-snapshot-latest.pkl", + "network_snapshot_sha256": "23a8653c34f0087561fdea250ce8501489c516119f7b7dc7f5ea5c03ae3626c4", + "training_state": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-activation-5344a5c9-20260721T034515Z/training-state-latest.pt", + "training_state_sha256": "ef2c93f58d7b9df944504fde66e361363312361c49fbb32ffbd0dd7fe5ad2c71", + "exact_command": "python /mnt/recurrence_of_ect/ct_train.py --data=/mnt/ect_project/datasets/cifar10-32x32.zip --outdir=/root/ect-runs/paired-training-v1-canonical/adaptive-v1-activation-5344a5c9-20260721T034515Z --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=adaptive_v1 -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --duration=0.004", + "fresh_transfer_not_resume": true, + "final_signal_updates": 8, + "final_adaptive_active": true, + "first_nonzero_correction_iteration": 12, + "first_adapted_pair_iteration": 13, + "activation_gate_passed": true, + "final_correction": -0.0162769219282, + "final_r_over_t_mean": 0.970930917088, + "final_gap_mean": 0.0290690829121 + }, + "sigmoid-stability-5344a5c9": { + "schedule": "sigmoid", + "mode": "stability", + "run_dir": "/root/ect-runs/paired-training-v1-canonical/sigmoid-stability-5344a5c9-20260721T034603Z", + "git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "python_version": "3.9.18", + "torch_version": "2.3.0", + "cuda_version": "12.1", + "gpu_name": "NVIDIA A100-PCIE-40GB", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "transfer_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "attempted_iterations": 125, + "successful_optimizer_steps": 116, + "skipped_steps": 9, + "processed_kimg": 16.0, + "final_loss": 26.38569498, + "wall_time_seconds": 104.098172, + "peak_vram_mib": 5916.343296, + "nan_count": 0, + "inf_count": 0, + "network_snapshot": "/root/ect-runs/paired-training-v1-canonical/sigmoid-stability-5344a5c9-20260721T034603Z/network-snapshot-latest.pkl", + "network_snapshot_sha256": "32aa4661584663c40bc05a3b5c5bef3bd4e8b60e289023d491fbe46fac5478ed", + "training_state": "/root/ect-runs/paired-training-v1-canonical/sigmoid-stability-5344a5c9-20260721T034603Z/training-state-latest.pt", + "training_state_sha256": "0dccc15dfe5bbe49466ee18109147f1500db31f8036e120d55c70482b1e7b8f8", + "exact_command": "python /mnt/recurrence_of_ect/ct_train.py --data=/mnt/ect_project/datasets/cifar10-32x32.zip --outdir=/root/ect-runs/paired-training-v1-canonical/sigmoid-stability-5344a5c9-20260721T034603Z --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=sigmoid -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --duration=0.016", + "fresh_transfer_not_resume": true + }, + "adaptive-v1-stability-5344a5c9": { + "schedule": "adaptive_v1", + "mode": "stability", + "run_dir": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-stability-5344a5c9-20260721T034800Z", + "git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "python_version": "3.9.18", + "torch_version": "2.3.0", + "cuda_version": "12.1", + "gpu_name": "NVIDIA A100-PCIE-40GB", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "transfer_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "attempted_iterations": 125, + "successful_optimizer_steps": 116, + "skipped_steps": 9, + "processed_kimg": 16.0, + "final_loss": 26.70842981, + "wall_time_seconds": 104.959755, + "peak_vram_mib": 5916.343296, + "nan_count": 0, + "inf_count": 0, + "network_snapshot": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-stability-5344a5c9-20260721T034800Z/network-snapshot-latest.pkl", + "network_snapshot_sha256": "7d162808dc98deec28d269693cba4242b97e52d8431017fe9e45a54a8c3d151a", + "training_state": "/root/ect-runs/paired-training-v1-canonical/adaptive-v1-stability-5344a5c9-20260721T034800Z/training-state-latest.pt", + "training_state_sha256": "269e2ec3b0b4edadddd2bc251338995962b31ea206106b0bfa24083e7210fd83", + "exact_command": "python /mnt/recurrence_of_ect/ct_train.py --data=/mnt/ect_project/datasets/cifar10-32x32.zip --outdir=/root/ect-runs/paired-training-v1-canonical/adaptive-v1-stability-5344a5c9-20260721T034800Z --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=adaptive_v1 -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --duration=0.016", + "fresh_transfer_not_resume": true, + "final_signal_updates": 32, + "final_adaptive_active": true, + "first_nonzero_correction_iteration": 12, + "first_adapted_pair_iteration": 13, + "activation_gate_passed": null, + "final_correction": -0.0247819071088, + "final_r_over_t_mean": 0.96108821038, + "final_gap_mean": 0.0389117896204 + } + }, + "stability_early_pair_probe": [ + { + "iteration": 1, + "sigmoid_loss": 15.9766382, + "adaptive_loss": 15.9766382, + "sigmoid_r_over_t": 0.985617611763, + "adaptive_r_over_t": 0.985617611763, + "adaptive_correction": 0.0 + }, + { + "iteration": 2, + "sigmoid_loss": 15.02455795, + "adaptive_loss": 15.02455795, + "sigmoid_r_over_t": 0.985632538854, + "adaptive_r_over_t": 0.985632538854, + "adaptive_correction": 0.0 + }, + { + "iteration": 3, + "sigmoid_loss": 16.38218355, + "adaptive_loss": 16.38218355, + "sigmoid_r_over_t": 0.985938287727, + "adaptive_r_over_t": 0.985938287727, + "adaptive_correction": 0.0 + }, + { + "iteration": 4, + "sigmoid_loss": 17.54660499, + "adaptive_loss": 17.54660499, + "sigmoid_r_over_t": 0.985108195351, + "adaptive_r_over_t": 0.985108195351, + "adaptive_correction": 0.0 + }, + { + "iteration": 5, + "sigmoid_loss": 15.6552794, + "adaptive_loss": 15.6552794, + "sigmoid_r_over_t": 0.986100688498, + "adaptive_r_over_t": 0.986100688498, + "adaptive_correction": 0.0 + }, + { + "iteration": 6, + "sigmoid_loss": 16.49589241, + "adaptive_loss": 16.49589241, + "sigmoid_r_over_t": 0.985309774022, + "adaptive_r_over_t": 0.985309774022, + "adaptive_correction": 0.0 + }, + { + "iteration": 7, + "sigmoid_loss": 17.07062507, + "adaptive_loss": 17.07062507, + "sigmoid_r_over_t": 0.985069129914, + "adaptive_r_over_t": 0.985069129914, + "adaptive_correction": 0.0 + }, + { + "iteration": 8, + "sigmoid_loss": 17.72678792, + "adaptive_loss": 17.72678792, + "sigmoid_r_over_t": 0.984782394382, + "adaptive_r_over_t": 0.984782394382, + "adaptive_correction": 0.0 + }, + { + "iteration": 9, + "sigmoid_loss": 15.9104389, + "adaptive_loss": 15.9104389, + "sigmoid_r_over_t": 0.985625582903, + "adaptive_r_over_t": 0.985625582903, + "adaptive_correction": 0.0 + }, + { + "iteration": 10, + "sigmoid_loss": 16.55839896, + "adaptive_loss": 16.55839896, + "sigmoid_r_over_t": 0.985928909818, + "adaptive_r_over_t": 0.985928909818, + "adaptive_correction": 0.0 + }, + { + "iteration": 11, + "sigmoid_loss": 30.67288423, + "adaptive_loss": 30.67288423, + "sigmoid_r_over_t": 0.985685323783, + "adaptive_r_over_t": 0.985685323783, + "adaptive_correction": 0.0 + } + ], + "readlink": { + "mnt_ect_project_runs": "/mnt/ect_project/runs", + "root_ect_runs": "/root/ect-runs" + } +} diff --git a/results/paired_comparison_a100_5344a5c9.md b/results/paired_comparison_a100_5344a5c9.md new file mode 100644 index 00000000..57ab4cc7 --- /dev/null +++ b/results/paired_comparison_a100_5344a5c9.md @@ -0,0 +1,57 @@ +# Paired A100 campaign comparison — `5344a5c` + +Canonical-runtime rerun of Role B paired activation + stability. + +## Runtime + +| Property | Value | +| --- | --- | +| Env | `ect-clean-validation` | +| Python / PyTorch / CUDA | 3.9.18 / 2.3.0 / 12.1 | +| GPU | NVIDIA A100-PCIE-40GB | +| Train+package HEAD | `5344a5c97ab461b640ad5c5413cbf57eec527c2a` | + +## Path policy + +- Runs root: `/root/ect-runs/paired-training-v1-canonical` +- `readlink -f /mnt/ect_project/runs` → `/mnt/ect_project/runs` +- `readlink -f /root/ect-runs` → `/root/ect-runs` +- Same directory: **False** +- Note: All four canonical reruns use /root/ect-runs/... exclusively. /mnt/ect_project/runs and /root/ect-runs are distinct directories (not symlinks). Prior PR #17 sigmoid activation path mismatch was caused by training under /mnt then moving the run tree to /root before packaging. + +## Stability semantics + +- Kind: **`independent_fresh_16_kimg`** +- Resumed from activation: **False** +- Stability arms are fresh --transfer runs with --duration=0.016, not resumes from activation training-state. + +## Determinism + +Configs and assets are identical across arms; CUDA/cuDNN kernels are not guaranteed bit-identical across independent processes. Pre-correction r_over_t_mean matches; early losses may differ slightly. + +## Runs + +| Arm | Mode | Iters / kimg | Success / skip | Final loss | Wall s | Peak MiB | Snapshot SHA | +| --- | --- | --- | --- | --- | --- | --- | --- | +| sigmoid | activation | 32 / 4.096 | 23 / 9 | 31.09924 | 37.6 | 5916.5 | `248e4638e833…` | +| adaptive_v1 | activation | 32 / 4.096 | 23 / 9 | 30.84132 | 34.1 | 5916.8 | `23a8653c34f0…` | +| sigmoid | stability | 125 / 16.0 | 116 / 9 | 26.38569 | 104.1 | 5916.3 | `32aa46615846…` | +| adaptive_v1 | stability | 125 / 16.0 | 116 / 9 | 26.70843 | 105.0 | 5916.3 | `7d162808dc98…` | + +## Adaptive controller + +| Mode | Signal updates | First nonzero corr | First adapted pair | Final correction | Final r/t | Final gap | Gate | +| --- | --- | --- | --- | --- | --- | --- | --- | +| activation | 8 | 12 | 13 | -0.0162769219282 | 0.970931 | 0.029069 | True | +| stability | 32 | 12 | 13 | -0.0247819071088 | 0.961088 | 0.038912 | None | + +## Checkpoint SHAs (for Role D) + +| Arm | network-snapshot-latest SHA-256 | training-state-latest SHA-256 | +| --- | --- | --- | +| sigmoid / activation | `248e4638e833389d078ec8d09726113d76d283b480479481e028b9e0560f9957` | `09b5c61d980f4d34307c7835d390ee4b740ddf97f81390565ef2678d28da2576` | +| adaptive_v1 / activation | `23a8653c34f0087561fdea250ce8501489c516119f7b7dc7f5ea5c03ae3626c4` | `ef2c93f58d7b9df944504fde66e361363312361c49fbb32ffbd0dd7fe5ad2c71` | +| sigmoid / stability | `32aa4661584663c40bc05a3b5c5bef3bd4e8b60e289023d491fbe46fac5478ed` | `0dccc15dfe5bbe49466ee18109147f1500db31f8036e120d55c70482b1e7b8f8` | +| adaptive_v1 / stability | `7d162808dc98deec28d269693cba4242b97e52d8431017fe9e45a54a8c3d151a` | `269e2ec3b0b4edadddd2bc251338995962b31ea206106b0bfa24083e7210fd83` | + +Machine-readable companion: `results/paired_comparison_a100_5344a5c9.json`. diff --git a/results/sigmoid_activation_a100_5344a5c9/README.md b/results/sigmoid_activation_a100_5344a5c9/README.md new file mode 100644 index 00000000..fd7cc35d --- /dev/null +++ b/results/sigmoid_activation_a100_5344a5c9/README.md @@ -0,0 +1,53 @@ +# Sigmoid activation — canonical A100 paired evidence + +This directory records the clean single-GPU `sigmoid` activation arm of the +Role B paired campaign at commit +`5344a5c97ab461b640ad5c5413cbf57eec527c2a`, rerun in the Role A frozen +`ect-clean-validation` runtime (Python 3.9.18 / PyTorch 2.3.0 / CUDA 12.1) +against canonical dataset `08c9ed1b2b1c…` and transfer `4d5dcc1f1d0d…`. +Counterpart: `results/adaptive_v1_activation_a100_5344a5c9/`. Intent: paired activation evidence on frozen knobs. + +## Status + +| Property | Value | +| --- | --- | +| Evidence class | `formal_candidate` | +| Device | NVIDIA A100-PCIE-40GB (1 GPU) | +| Runtime | Python 3.9.18 / PyTorch 2.3.0 / CUDA 12.1 (`ect-clean-validation`) | +| Mode / schedule | `activation` / `sigmoid` | +| Duration / progress | 0.004 Mimg / 4.096 kimg | +| Dataset archive SHA-256 | `08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372` (canonical) | +| Transfer SHA-256 | `4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da` | +| Seed / batch / batch-gpu | 0 / 128 / 16 | +| Attempted / successful / skipped | 32 / 23 / 9 | +| AMP | enabled; GradScaler state saved | +| Recorded training and packaging worktrees | clean, at `5344a5c…` | +| Loss finiteness | 0 NaN / 0 Inf in `train_summary.csv` | +| Run outdir | `/root/ect-runs/paired-training-v1-canonical/sigmoid-activation-5344a5c9-20260721T034424Z` | + +The Collector loaded the latest network snapshot and training state. +`exact_command` `--outdir` and artifact paths both live under +`/root/ect-runs/paired-training-v1-canonical/...` (no `/mnt` vs `/root` mismatch). +Controller telemetry stays inactive for the fixed arm. + +The console's initial maintenance report can display `loss nan` before the +statistics collector is updated; packaged CSV losses are finite. + +## Contents + +```text +results/sigmoid_activation_a100_5344a5c9/ +├── README.md +├── metadata.json +└── train_summary.csv +``` + +The checkpoint, network snapshot, raw log, source dataset, and transfer pickle +remain outside Git. See also `results/paired_comparison_a100_5344a5c9.{md,json}`. + +## Local artifact hashes + +```text +15e57c23bd95dc300ec2c2930aba7ef04ccd9ba59a2b235164a2dbeb3b4b5cba metadata.json +9a257db09506f6dfd29ae090bd5100a1e7de801f6a42d692225754e19519de9e train_summary.csv +``` diff --git a/results/sigmoid_activation_a100_5344a5c9/metadata.json b/results/sigmoid_activation_a100_5344a5c9/metadata.json new file mode 100644 index 00000000..be5f8aaf --- /dev/null +++ b/results/sigmoid_activation_a100_5344a5c9/metadata.json @@ -0,0 +1,57 @@ +{ + "activation_gate_applied": false, + "activation_gate_passed": null, + "attempted_iterations": 32, + "batch_gpu": 16, + "cuda_version": "12.1", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "duration_mimg": 0.004, + "evidence_class": "formal_candidate", + "exact_command": "python /mnt/recurrence_of_ect/ct_train.py --data=/mnt/ect_project/datasets/cifar10-32x32.zip --outdir=/root/ect-runs/paired-training-v1-canonical/sigmoid-activation-5344a5c9-20260721T034424Z --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=sigmoid -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --duration=0.004", + "final_adaptive_active": false, + "final_grad_scale": 128.0, + "final_loss": 31.09924078, + "final_signal_updates": 0, + "first_adapted_pair_iteration": null, + "first_loss": 16.016312, + "first_nonzero_correction_iteration": null, + "first_schedule_telemetry_iteration": 1, + "git_branch": "HEAD", + "git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "git_dirty": false, + "global_batch": 128, + "gpu_count": 1, + "gpu_name": "NVIDIA A100-PCIE-40GB", + "gradscaler_state_saved": true, + "inf_count": 0, + "initial_grad_scale": 65536.0, + "max_loss": 37.09808064, + "metrics_enabled": false, + "min_loss": 15.02882767, + "mode": "activation", + "nan_count": 0, + "network_snapshot": "/root/ect-runs/paired-training-v1-canonical/sigmoid-activation-5344a5c9-20260721T034424Z/network-snapshot-latest.pkl", + "network_snapshot_sha256": "248e4638e833389d078ec8d09726113d76d283b480479481e028b9e0560f9957", + "packaging_git_branch": "HEAD", + "packaging_git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "packaging_git_dirty": false, + "peak_vram_mib": 5916.530688, + "peak_vram_source": "torch.cuda.max_memory_allocated", + "platform": "Linux-5.15.0-56-generic-x86_64-with-glibc2.35", + "processed_kimg": 4.096, + "python_version": "3.9.18", + "schedule": "sigmoid", + "schedule_telemetry_available": true, + "schedule_telemetry_columns_available": true, + "schedule_telemetry_coverage": 1.0, + "schedule_telemetry_rows": 32, + "schedule_telemetry_total_rows": 32, + "seed": 0, + "skipped_steps": 9, + "successful_optimizer_steps": 23, + "torch_version": "2.3.0", + "training_state": "/root/ect-runs/paired-training-v1-canonical/sigmoid-activation-5344a5c9-20260721T034424Z/training-state-latest.pt", + "training_state_sha256": "09b5c61d980f4d34307c7835d390ee4b740ddf97f81390565ef2678d28da2576", + "transfer_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "wall_time_seconds": 37.588446 +} diff --git a/results/sigmoid_activation_a100_5344a5c9/train_summary.csv b/results/sigmoid_activation_a100_5344a5c9/train_summary.csv new file mode 100644 index 00000000..4f2445c5 --- /dev/null +++ b/results/sigmoid_activation_a100_5344a5c9/train_summary.csv @@ -0,0 +1,33 @@ +attempted_iteration,successful_optimizer_steps,processed_kimg,loss,grad_scale,step_skipped,schedule,stage,next_loop_cur_tick,loss_ema,loss_reference,correction,signal_updates,adaptive_active,r_over_t_mean,gap_mean,seconds,peak_vram_mib +1,0,0.128000,16.01631200,65536,true,sigmoid,0,1,,,0,0,0,0.985617611763,0.0143823882369,8.545456,5916.530688 +2,0,0.256000,15.02882767,32768,true,sigmoid,0,1,,,0,0,0,0.985632538854,0.0143674611461,10.091485,2133.932032 +3,0,0.384000,16.39769340,16384,true,sigmoid,0,1,,,0,0,0,0.985938287727,0.0140617122734,11.007641,2133.932032 +4,0,0.512000,17.54682064,8192,true,sigmoid,0,1,,,0,0,0,0.985108195351,0.0148918046487,11.927609,2133.932032 +5,0,0.640000,15.66431653,4096,true,sigmoid,0,1,,,0,0,0,0.986100688498,0.0138993115016,12.842616,2133.932032 +6,0,0.768000,16.49437988,2048,true,sigmoid,0,1,,,0,0,0,0.985309774022,0.0146902259784,13.758536,2133.932032 +7,0,0.896000,17.08746445,1024,true,sigmoid,0,1,,,0,0,0,0.985069129914,0.0149308700857,14.648961,2133.932032 +8,0,1.024000,17.72230852,512,true,sigmoid,0,1,,,0,0,0,0.984782394382,0.0152176056182,15.556512,2133.932032 +9,1,1.152000,15.90104389,256,false,sigmoid,0,1,,,0,0,0,0.985625582903,0.0143744170974,16.546131,2133.932032 +10,2,1.280000,16.44915807,256,false,sigmoid,0,1,,,0,0,0,0.985928909818,0.0140710901825,17.496500,2565.139456 +11,2,1.408000,30.72275257,256,true,sigmoid,0,1,,,0,0,0,0.985685323783,0.0143146762174,18.401063,2565.139456 +12,3,1.536000,27.76761127,128,false,sigmoid,0,1,,,0,0,0,0.986457861945,0.0135421380545,19.376157,2565.139456 +13,4,1.664000,31.34067392,128,false,sigmoid,0,1,,,0,0,0,0.985574938739,0.0144250612608,20.307929,2565.139456 +14,5,1.792000,33.44773912,128,false,sigmoid,0,1,,,0,0,0,0.985060260493,0.0149397395069,21.235898,2565.139456 +15,6,1.920000,33.99147606,128,false,sigmoid,0,1,,,0,0,0,0.984829846503,0.0151701534967,22.161340,2565.139456 +16,7,2.048000,37.09808064,128,false,sigmoid,0,1,,,0,0,0,0.984193810153,0.0158061898466,23.058176,2565.139456 +17,8,2.176000,29.67621708,128,false,sigmoid,0,1,,,0,0,0,0.985895132709,0.014104867291,23.966871,2565.139456 +18,9,2.304000,29.01898265,128,false,sigmoid,0,1,,,0,0,0,0.98598470338,0.01401529662,24.861614,2565.139456 +19,10,2.432000,32.55558562,128,false,sigmoid,0,1,,,0,0,0,0.985054276053,0.0149457239475,25.760632,2565.139456 +20,11,2.560000,31.65004134,128,false,sigmoid,0,1,,,0,0,0,0.985384436708,0.0146155632923,26.672166,2565.139456 +21,12,2.688000,30.80876756,128,false,sigmoid,0,1,,,0,0,0,0.985909523964,0.0140904760363,27.583285,2565.139456 +22,13,2.816000,35.03386164,128,false,sigmoid,0,1,,,0,0,0,0.984703791637,0.0152962083634,28.517711,2565.139456 +23,14,2.944000,33.02353978,128,false,sigmoid,0,1,,,0,0,0,0.985037795322,0.0149622046782,29.414100,2565.139456 +24,15,3.072000,31.45961499,128,false,sigmoid,0,1,,,0,0,0,0.985349144328,0.0146508556715,30.364422,2565.139456 +25,16,3.200000,29.53679681,128,false,sigmoid,0,1,,,0,0,0,0.985410481213,0.0145895187873,31.308234,2565.139456 +26,17,3.328000,29.39157653,128,false,sigmoid,0,1,,,0,0,0,0.986044559817,0.0139554401833,32.205505,2565.139456 +27,18,3.456000,31.57171631,128,false,sigmoid,0,1,,,0,0,0,0.985380117683,0.0146198823174,33.089245,2565.139456 +28,19,3.584000,33.69315434,128,false,sigmoid,0,1,,,0,0,0,0.984702384635,0.0152976153647,33.951684,2565.139456 +29,20,3.712000,29.41479397,128,false,sigmoid,0,1,,,0,0,0,0.986099549801,0.0139004501993,34.844354,2565.139456 +30,21,3.840000,31.74056315,128,false,sigmoid,0,1,,,0,0,0,0.985221323739,0.0147786762608,35.737173,2565.139456 +31,22,3.968000,29.57430720,128,false,sigmoid,0,1,,,0,0,0,0.985785769022,0.0142142309783,36.681079,2565.139456 +32,23,4.096000,31.09924078,128,false,sigmoid,0,2,,,0,0,0,0.985542401604,0.0144575983958,37.588446,2565.139456 diff --git a/results/sigmoid_stability_a100_5344a5c9/README.md b/results/sigmoid_stability_a100_5344a5c9/README.md new file mode 100644 index 00000000..184c05c8 --- /dev/null +++ b/results/sigmoid_stability_a100_5344a5c9/README.md @@ -0,0 +1,52 @@ +# Sigmoid stability — canonical A100 paired evidence (fresh 16 kimg) + +This directory records the clean single-GPU `sigmoid` stability arm of the +Role B paired campaign at commit +`5344a5c97ab461b640ad5c5413cbf57eec527c2a`, rerun in the Role A frozen +`ect-clean-validation` runtime (Python 3.9.18 / PyTorch 2.3.0 / CUDA 12.1) +against canonical dataset `08c9ed1b2b1c…` and transfer `4d5dcc1f1d0d…`. +Counterpart: `results/adaptive_v1_stability_a100_5344a5c9/`. Intent: independent fresh 16 kimg stability evidence (not an activation→stability resume). + +## Status + +| Property | Value | +| --- | --- | +| Evidence class | `formal_candidate` | +| Device | NVIDIA A100-PCIE-40GB (1 GPU) | +| Runtime | Python 3.9.18 / PyTorch 2.3.0 / CUDA 12.1 (`ect-clean-validation`) | +| Mode / schedule | `stability` / `sigmoid` | +| Duration / progress | 0.016 Mimg / 16.0 kimg | +| Dataset archive SHA-256 | `08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372` (canonical) | +| Transfer SHA-256 | `4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da` | +| Seed / batch / batch-gpu | 0 / 128 / 16 | +| Attempted / successful / skipped | 125 / 116 / 9 | +| AMP | enabled; GradScaler state saved | +| Recorded training and packaging worktrees | clean, at `5344a5c…` | +| Loss finiteness | 0 NaN / 0 Inf in `train_summary.csv` | +| Run outdir | `/root/ect-runs/paired-training-v1-canonical/sigmoid-stability-5344a5c9-20260721T034603Z` | + +**Fresh run (not resume):** `exact_command` uses `--transfer=...` and +`--duration=0.016` with no `--resume`. This is an independent fresh 16 kimg +stability arm, not a continuation of the activation training-state. + +The Collector loaded the latest network snapshot and training state. +Controller telemetry stays inactive for the fixed arm. + +## Contents + +```text +results/sigmoid_stability_a100_5344a5c9/ +├── README.md +├── metadata.json +└── train_summary.csv +``` + +The checkpoint, network snapshot, raw log, source dataset, and transfer pickle +remain outside Git. See also `results/paired_comparison_a100_5344a5c9.{md,json}`. + +## Local artifact hashes + +```text +21d22991acec8e4874ea5ad3b19ce6ed286e8fd3868ea65880de2496dd61de63 metadata.json +ec86295aaca42c7db06d222f647fe1fe429b1911f36d9874ae98ae6e3b8b819e train_summary.csv +``` diff --git a/results/sigmoid_stability_a100_5344a5c9/metadata.json b/results/sigmoid_stability_a100_5344a5c9/metadata.json new file mode 100644 index 00000000..1e4507d8 --- /dev/null +++ b/results/sigmoid_stability_a100_5344a5c9/metadata.json @@ -0,0 +1,57 @@ +{ + "activation_gate_applied": false, + "activation_gate_passed": null, + "attempted_iterations": 125, + "batch_gpu": 16, + "cuda_version": "12.1", + "dataset_sha256": "08c9ed1b2b1c523268dc0f05a0569dd654209aea46197e3f56ec149dd714f372", + "duration_mimg": 0.016, + "evidence_class": "formal_candidate", + "exact_command": "python /mnt/recurrence_of_ect/ct_train.py --data=/mnt/ect_project/datasets/cifar10-32x32.zip --outdir=/root/ect-runs/paired-training-v1-canonical/sigmoid-stability-5344a5c9-20260721T034603Z --nosubdir --cond=False --arch=ddpmpp --precond=ect --batch=128 --batch-gpu=16 --optim=RAdam --lr=0.0001 --dropout=0.2 --augment=0 --mapping=sigmoid -q 256 -k 8 -b 1 -c 0 --double=10000 --ema_beta=0.9993 --seed=0 --fp16=True --enable_amp=True --metrics=none --transfer=/mnt/ect_project/pretrained/edm-cifar10-32x32-uncond-vp.pkl --duration=0.016", + "final_adaptive_active": false, + "final_grad_scale": 128.0, + "final_loss": 26.38569498, + "final_signal_updates": 0, + "first_adapted_pair_iteration": null, + "first_loss": 15.9766382, + "first_nonzero_correction_iteration": null, + "first_schedule_telemetry_iteration": 1, + "git_branch": "HEAD", + "git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "git_dirty": false, + "global_batch": 128, + "gpu_count": 1, + "gpu_name": "NVIDIA A100-PCIE-40GB", + "gradscaler_state_saved": true, + "inf_count": 0, + "initial_grad_scale": 65536.0, + "max_loss": 37.55382586, + "metrics_enabled": false, + "min_loss": 15.02455795, + "mode": "stability", + "nan_count": 0, + "network_snapshot": "/root/ect-runs/paired-training-v1-canonical/sigmoid-stability-5344a5c9-20260721T034603Z/network-snapshot-latest.pkl", + "network_snapshot_sha256": "32aa4661584663c40bc05a3b5c5bef3bd4e8b60e289023d491fbe46fac5478ed", + "packaging_git_branch": "HEAD", + "packaging_git_commit": "5344a5c97ab461b640ad5c5413cbf57eec527c2a", + "packaging_git_dirty": false, + "peak_vram_mib": 5916.343296, + "peak_vram_source": "torch.cuda.max_memory_allocated", + "platform": "Linux-5.15.0-56-generic-x86_64-with-glibc2.35", + "processed_kimg": 16.0, + "python_version": "3.9.18", + "schedule": "sigmoid", + "schedule_telemetry_available": true, + "schedule_telemetry_columns_available": true, + "schedule_telemetry_coverage": 1.0, + "schedule_telemetry_rows": 125, + "schedule_telemetry_total_rows": 125, + "seed": 0, + "skipped_steps": 9, + "successful_optimizer_steps": 116, + "torch_version": "2.3.0", + "training_state": "/root/ect-runs/paired-training-v1-canonical/sigmoid-stability-5344a5c9-20260721T034603Z/training-state-latest.pt", + "training_state_sha256": "0dccc15dfe5bbe49466ee18109147f1500db31f8036e120d55c70482b1e7b8f8", + "transfer_sha256": "4d5dcc1f1d0d41c8934ad21626eeddbdc0460182becf9fc059a0631b1eedb4da", + "wall_time_seconds": 104.098172 +} diff --git a/results/sigmoid_stability_a100_5344a5c9/train_summary.csv b/results/sigmoid_stability_a100_5344a5c9/train_summary.csv new file mode 100644 index 00000000..6061ebd1 --- /dev/null +++ b/results/sigmoid_stability_a100_5344a5c9/train_summary.csv @@ -0,0 +1,126 @@ +attempted_iteration,successful_optimizer_steps,processed_kimg,loss,grad_scale,step_skipped,schedule,stage,next_loop_cur_tick,loss_ema,loss_reference,correction,signal_updates,adaptive_active,r_over_t_mean,gap_mean,seconds,peak_vram_mib +1,0,0.128000,15.97663820,65536,true,sigmoid,0,1,,,0,0,0,0.985617611763,0.0143823882369,8.198905,5916.343296 +2,0,0.256000,15.02455795,32768,true,sigmoid,0,1,,,0,0,0,0.985632538854,0.0143674611461,9.453872,2136.822784 +3,0,0.384000,16.38218355,16384,true,sigmoid,0,1,,,0,0,0,0.985938287727,0.0140617122734,10.197701,2136.822784 +4,0,0.512000,17.54660499,8192,true,sigmoid,0,1,,,0,0,0,0.985108195351,0.0148918046487,10.940551,2136.822784 +5,0,0.640000,15.65527940,4096,true,sigmoid,0,1,,,0,0,0,0.986100688498,0.0138993115016,11.682236,2136.822784 +6,0,0.768000,16.49589241,2048,true,sigmoid,0,1,,,0,0,0,0.985309774022,0.0146902259784,12.436440,2136.822784 +7,0,0.896000,17.07062507,1024,true,sigmoid,0,1,,,0,0,0,0.985069129914,0.0149308700857,13.182560,2136.822784 +8,0,1.024000,17.72678792,512,true,sigmoid,0,1,,,0,0,0,0.984782394382,0.0152176056182,13.930748,2136.822784 +9,1,1.152000,15.91043890,256,false,sigmoid,0,1,,,0,0,0,0.985625582903,0.0143744170974,14.745183,2136.822784 +10,2,1.280000,16.55839896,256,false,sigmoid,0,1,,,0,0,0,0.985928909818,0.0140710901825,15.523775,2562.343936 +11,2,1.408000,30.67288423,256,true,sigmoid,0,1,,,0,0,0,0.985685323783,0.0143146762174,16.271782,2562.343936 +12,3,1.536000,27.70777225,128,false,sigmoid,0,1,,,0,0,0,0.986457861945,0.0135421380545,17.026661,2562.343936 +13,4,1.664000,31.34669256,128,false,sigmoid,0,1,,,0,0,0,0.985574938739,0.0144250612608,17.788466,2562.343936 +14,5,1.792000,33.55546212,128,false,sigmoid,0,1,,,0,0,0,0.985060260493,0.0149397395069,18.560130,2562.343936 +15,6,1.920000,34.41056466,128,false,sigmoid,0,1,,,0,0,0,0.984829846503,0.0151701534967,19.320223,2562.343936 +16,7,2.048000,37.55382586,128,false,sigmoid,0,1,,,0,0,0,0.984193810153,0.0158061898466,20.081259,2562.343936 +17,8,2.176000,30.00784945,128,false,sigmoid,0,1,,,0,0,0,0.985895132709,0.014104867291,20.829712,2562.343936 +18,9,2.304000,29.36676836,128,false,sigmoid,0,1,,,0,0,0,0.98598470338,0.01401529662,21.592482,2562.343936 +19,10,2.432000,32.91758680,128,false,sigmoid,0,1,,,0,0,0,0.985054276053,0.0149457239475,22.357688,2562.343936 +20,11,2.560000,32.02829027,128,false,sigmoid,0,1,,,0,0,0,0.985384436708,0.0146155632923,23.123839,2562.343936 +21,12,2.688000,31.16093516,128,false,sigmoid,0,1,,,0,0,0,0.985909523964,0.0140904760363,23.896840,2562.343936 +22,13,2.816000,35.46103930,128,false,sigmoid,0,1,,,0,0,0,0.984703791637,0.0152962083634,24.728743,2562.343936 +23,14,2.944000,33.46657801,128,false,sigmoid,0,1,,,0,0,0,0.985037795322,0.0149622046782,25.519914,2562.343936 +24,15,3.072000,31.85044980,128,false,sigmoid,0,1,,,0,0,0,0.985349144328,0.0146508556715,26.295772,2562.343936 +25,16,3.200000,29.87372613,128,false,sigmoid,0,1,,,0,0,0,0.985410481213,0.0145895187873,27.092644,2562.343936 +26,17,3.328000,29.73380280,128,false,sigmoid,0,1,,,0,0,0,0.986044559817,0.0139554401833,27.863951,2562.343936 +27,18,3.456000,31.94801784,128,false,sigmoid,0,1,,,0,0,0,0.985380117683,0.0146198823174,28.660490,2562.343936 +28,19,3.584000,34.12442446,128,false,sigmoid,0,1,,,0,0,0,0.984702384635,0.0152976153647,29.448317,2562.343936 +29,20,3.712000,29.79930210,128,false,sigmoid,0,1,,,0,0,0,0.986099549801,0.0139004501993,30.207939,2562.343936 +30,21,3.840000,32.12221956,128,false,sigmoid,0,1,,,0,0,0,0.985221323739,0.0147786762608,31.017620,2562.343936 +31,22,3.968000,29.92539644,128,false,sigmoid,0,1,,,0,0,0,0.985785769022,0.0142142309783,31.777747,2562.343936 +32,23,4.096000,31.50242257,128,false,sigmoid,0,1,,,0,0,0,0.985542401604,0.0144575983958,32.538813,2562.343936 +33,24,4.224000,32.95387125,128,false,sigmoid,0,1,,,0,0,0,0.985165154519,0.0148348454808,33.282921,2562.343936 +34,25,4.352000,32.39066601,128,false,sigmoid,0,1,,,0,0,0,0.98546513404,0.0145348659599,34.049336,2562.343936 +35,26,4.480000,31.46038008,128,false,sigmoid,0,1,,,0,0,0,0.985540247679,0.0144597523211,34.836283,2562.343936 +36,27,4.608000,31.23472118,128,false,sigmoid,0,1,,,0,0,0,0.985386964571,0.0146130354293,35.590244,2562.343936 +37,28,4.736000,29.59487104,128,false,sigmoid,0,1,,,0,0,0,0.985879321882,0.014120678118,36.330412,2562.343936 +38,29,4.864000,30.26307249,128,false,sigmoid,0,1,,,0,0,0,0.985411737173,0.0145882628266,37.129684,2562.343936 +39,30,4.992000,30.48700309,128,false,sigmoid,0,1,,,0,0,0,0.985831653484,0.0141683465163,37.915172,2562.343936 +40,31,5.120000,28.47149467,128,false,sigmoid,0,1,,,0,0,0,0.986280141977,0.0137198580227,38.684100,2562.343936 +41,32,5.248000,35.29799414,128,false,sigmoid,0,1,,,0,0,0,0.984476142814,0.0155238571856,39.447843,2562.343936 +42,33,5.376000,32.21242189,128,false,sigmoid,0,1,,,0,0,0,0.985396916782,0.0146030832177,40.231426,2562.343936 +43,34,5.504000,31.60509372,128,false,sigmoid,0,1,,,0,0,0,0.98513139726,0.0148686027395,40.983424,2562.343936 +44,35,5.632000,31.24491405,128,false,sigmoid,0,1,,,0,0,0,0.985619798968,0.0143802010323,41.736914,2562.343936 +45,36,5.760000,32.81433845,128,false,sigmoid,0,1,,,0,0,0,0.985017025515,0.0149829744854,42.491189,2562.343936 +46,37,5.888000,27.31372356,128,false,sigmoid,0,1,,,0,0,0,0.986327095883,0.0136729041166,43.242679,2562.343936 +47,38,6.016000,29.31458926,128,false,sigmoid,0,1,,,0,0,0,0.986079057812,0.0139209421882,43.991265,2562.343936 +48,39,6.144000,30.07094264,128,false,sigmoid,0,1,,,0,0,0,0.985575874882,0.0144241251182,44.750548,2562.343936 +49,40,6.272000,28.85527015,128,false,sigmoid,0,1,,,0,0,0,0.985844739112,0.0141552608876,45.497809,2562.343936 +50,41,6.400000,32.43338704,128,false,sigmoid,0,1,,,0,0,0,0.98519069867,0.0148093013301,46.244245,2562.343936 +51,42,6.528000,28.78081608,128,false,sigmoid,0,1,,,0,0,0,0.985604395607,0.0143956043929,47.014754,2562.343936 +52,43,6.656000,32.21971512,128,false,sigmoid,0,1,,,0,0,0,0.984935405472,0.0150645945277,47.795931,2562.343936 +53,44,6.784000,32.54088998,128,false,sigmoid,0,1,,,0,0,0,0.985082976615,0.0149170233853,48.564713,2562.343936 +54,45,6.912000,31.03034568,128,false,sigmoid,0,1,,,0,0,0,0.98549905797,0.0145009420301,49.320602,2562.343936 +55,46,7.040000,30.78272438,128,false,sigmoid,0,1,,,0,0,0,0.985515278451,0.014484721549,50.056794,2562.343936 +56,47,7.168000,32.53059745,128,false,sigmoid,0,1,,,0,0,0,0.984973947296,0.0150260527038,50.806454,2562.343936 +57,48,7.296000,31.13359833,128,false,sigmoid,0,1,,,0,0,0,0.985370221037,0.0146297789633,51.560252,2562.343936 +58,49,7.424000,26.89353204,128,false,sigmoid,0,1,,,0,0,0,0.986230887764,0.013769112236,52.322473,2562.343936 +59,50,7.552000,26.14184475,128,false,sigmoid,0,1,,,0,0,0,0.986646705728,0.0133532942723,53.075353,2562.343936 +60,51,7.680000,29.74556303,128,false,sigmoid,0,1,,,0,0,0,0.985584505898,0.0144154941019,53.830710,2562.343936 +61,52,7.808000,30.34793425,128,false,sigmoid,0,1,,,0,0,0,0.985363961469,0.0146360385307,54.603887,2562.343936 +62,53,7.936000,30.95628428,128,false,sigmoid,0,1,,,0,0,0,0.985208066903,0.0147919330969,55.374059,2562.343936 +63,54,8.064000,29.04644132,128,false,sigmoid,0,1,,,0,0,0,0.986094511365,0.0139054886348,56.138523,2562.343936 +64,55,8.192000,31.74577570,128,false,sigmoid,0,1,,,0,0,0,0.98500616251,0.0149938374899,56.896324,2562.343936 +65,56,8.320000,28.74338150,128,false,sigmoid,0,1,,,0,0,0,0.985751808085,0.0142481919155,57.660069,2562.343936 +66,57,8.448000,28.73536682,128,false,sigmoid,0,1,,,0,0,0,0.985794978521,0.0142050214787,58.420921,2562.343936 +67,58,8.576000,28.68116903,128,false,sigmoid,0,1,,,0,0,0,0.985868097525,0.0141319024747,59.178629,2562.343936 +68,59,8.704000,26.96819472,128,false,sigmoid,0,1,,,0,0,0,0.986445134201,0.0135548657988,59.958953,2562.343936 +69,60,8.832000,28.59170055,128,false,sigmoid,0,1,,,0,0,0,0.985845131976,0.014154868024,60.737149,2562.343936 +70,61,8.960000,30.22791195,128,false,sigmoid,0,1,,,0,0,0,0.985478346878,0.0145216531222,61.580266,2562.343936 +71,62,9.088000,26.44937563,128,false,sigmoid,0,1,,,0,0,0,0.986207441505,0.013792558495,62.351999,2562.343936 +72,63,9.216000,31.78570318,128,false,sigmoid,0,1,,,0,0,0,0.985005287829,0.0149947121712,63.142568,2562.343936 +73,64,9.344000,25.98715472,128,false,sigmoid,0,1,,,0,0,0,0.986450166808,0.013549833192,63.937294,2562.343936 +74,65,9.472000,29.00548887,128,false,sigmoid,0,1,,,0,0,0,0.985851879355,0.0141481206447,64.706366,2562.343936 +75,66,9.600000,31.95672846,128,false,sigmoid,0,1,,,0,0,0,0.985283332073,0.0147166679272,65.480171,2562.343936 +76,67,9.728000,29.76345205,128,false,sigmoid,0,1,,,0,0,0,0.985354733777,0.0146452662229,66.285755,2562.343936 +77,68,9.856000,31.99661732,128,false,sigmoid,0,1,,,0,0,0,0.984884043852,0.0151159561484,67.066023,2562.343936 +78,69,9.984000,31.98311496,128,false,sigmoid,0,1,,,0,0,0,0.985005910575,0.014994089425,67.853207,2562.343936 +79,70,10.112000,31.10084414,128,false,sigmoid,0,1,,,0,0,0,0.985212162083,0.0147878379168,68.677932,2562.343936 +80,71,10.240000,28.71544409,128,false,sigmoid,0,1,,,0,0,0,0.985487440588,0.0145125594118,69.466567,2562.343936 +81,72,10.368000,31.30940890,128,false,sigmoid,0,1,,,0,0,0,0.985092993601,0.0149070063989,70.287872,2562.343936 +82,73,10.496000,28.42909956,128,false,sigmoid,0,1,,,0,0,0,0.985726662319,0.0142733376806,71.053503,2562.343936 +83,74,10.624000,29.28888607,128,false,sigmoid,0,1,,,0,0,0,0.985789610835,0.0142103891651,71.829656,2562.343936 +84,75,10.752000,29.89483881,128,false,sigmoid,0,1,,,0,0,0,0.98531203078,0.0146879692199,72.610888,2562.343936 +85,76,10.880000,28.67108774,128,false,sigmoid,0,1,,,0,0,0,0.985607252351,0.0143927476486,73.422517,2562.343936 +86,77,11.008000,32.99492145,128,false,sigmoid,0,1,,,0,0,0,0.984393258296,0.0156067417043,74.252325,2562.343936 +87,78,11.136000,29.50816083,128,false,sigmoid,0,1,,,0,0,0,0.985545916728,0.0144540832716,75.040401,2562.343936 +88,79,11.264000,29.94218850,128,false,sigmoid,0,1,,,0,0,0,0.985131836001,0.0148681639991,75.815003,2562.343936 +89,80,11.392000,30.33800769,128,false,sigmoid,0,1,,,0,0,0,0.985183959966,0.0148160400344,76.600361,2562.343936 +90,81,11.520000,30.08315229,128,false,sigmoid,0,1,,,0,0,0,0.985316444918,0.0146835550823,77.374313,2562.343936 +91,82,11.648000,27.39408684,128,false,sigmoid,0,1,,,0,0,0,0.985969855272,0.014030144728,78.135428,2562.343936 +92,83,11.776000,27.63841438,128,false,sigmoid,0,1,,,0,0,0,0.98567372285,0.0143262771498,78.886428,2562.343936 +93,84,11.904000,29.99934053,128,false,sigmoid,0,1,,,0,0,0,0.985363671138,0.0146363288616,79.649299,2562.343936 +94,85,12.032000,27.30631423,128,false,sigmoid,0,1,,,0,0,0,0.985817681496,0.014182318504,80.468372,2562.343936 +95,86,12.160000,28.20808482,128,false,sigmoid,0,1,,,0,0,0,0.985886141557,0.0141138584433,81.264923,2562.343936 +96,87,12.288000,28.01720166,128,false,sigmoid,0,1,,,0,0,0,0.985457916105,0.0145420838953,82.039189,2562.343936 +97,88,12.416000,24.85809040,128,false,sigmoid,0,1,,,0,0,0,0.986763310937,0.0132366890635,82.820970,2562.343936 +98,89,12.544000,28.73866296,128,false,sigmoid,0,1,,,0,0,0,0.985299151816,0.0147008481841,83.605768,2562.343936 +99,90,12.672000,30.40469217,128,false,sigmoid,0,1,,,0,0,0,0.985037622509,0.0149623774912,84.404749,2562.343936 +100,91,12.800000,30.19933987,128,false,sigmoid,0,1,,,0,0,0,0.985055735788,0.0149442642121,85.217475,2562.343936 +101,92,12.928000,26.94719958,128,false,sigmoid,0,1,,,0,0,0,0.985672529622,0.0143274703782,86.006386,2562.343936 +102,93,13.056000,30.91750169,128,false,sigmoid,0,1,,,0,0,0,0.985067878437,0.0149321215628,86.783387,2562.343936 +103,94,13.184000,28.13669538,128,false,sigmoid,0,1,,,0,0,0,0.985485020135,0.0145149798649,87.544379,2562.343936 +104,95,13.312000,26.79078722,128,false,sigmoid,0,1,,,0,0,0,0.985900326344,0.0140996736559,88.320933,2562.343936 +105,96,13.440000,26.90829778,128,false,sigmoid,0,1,,,0,0,0,0.985384788147,0.0146152118534,89.091935,2562.343936 +106,97,13.568000,28.42258787,128,false,sigmoid,0,1,,,0,0,0,0.985497126957,0.014502873043,89.852865,2562.343936 +107,98,13.696000,29.55390644,128,false,sigmoid,0,1,,,0,0,0,0.985229011361,0.0147709886395,90.640025,2562.343936 +108,99,13.824000,29.57412148,128,false,sigmoid,0,1,,,0,0,0,0.985218808683,0.0147811913169,91.467155,2562.343936 +109,100,13.952000,29.27168798,128,false,sigmoid,0,1,,,0,0,0,0.985353571359,0.0146464286409,92.229233,2562.343936 +110,101,14.080000,27.58436513,128,false,sigmoid,0,1,,,0,0,0,0.985212808892,0.0147871911081,92.982014,2562.343936 +111,102,14.208000,29.92748022,128,false,sigmoid,0,1,,,0,0,0,0.984795747174,0.0152042528263,93.731886,2562.343936 +112,103,14.336000,25.16602111,128,false,sigmoid,0,1,,,0,0,0,0.986395147488,0.0136048525117,94.470360,2562.343936 +113,104,14.464000,29.47179317,128,false,sigmoid,0,1,,,0,0,0,0.98518825744,0.0148117425603,95.203135,2562.343936 +114,105,14.592000,29.00432158,128,false,sigmoid,0,1,,,0,0,0,0.985120002431,0.0148799975694,95.934014,2562.343936 +115,106,14.720000,28.43632579,128,false,sigmoid,0,1,,,0,0,0,0.985423743724,0.0145762562756,96.676162,2562.343936 +116,107,14.848000,24.80879998,128,false,sigmoid,0,1,,,0,0,0,0.986056069889,0.013943930111,97.409138,2562.343936 +117,108,14.976000,26.82732415,128,false,sigmoid,0,1,,,0,0,0,0.985966817664,0.0140331823363,98.149899,2562.343936 +118,109,15.104000,27.84231162,128,false,sigmoid,0,1,,,0,0,0,0.985396288833,0.0146037111672,98.884488,2562.343936 +119,110,15.232000,25.85483861,128,false,sigmoid,0,1,,,0,0,0,0.985889362466,0.014110637534,99.620368,2562.343936 +120,111,15.360000,25.19848061,128,false,sigmoid,0,1,,,0,0,0,0.986179632316,0.0138203676844,100.387176,2562.343936 +121,112,15.488000,25.71014500,128,false,sigmoid,0,1,,,0,0,0,0.985989337135,0.0140106628651,101.122031,2562.343936 +122,113,15.616000,26.55014968,128,false,sigmoid,0,1,,,0,0,0,0.985934026339,0.0140659736614,101.848956,2562.343936 +123,114,15.744000,27.73538589,128,false,sigmoid,0,1,,,0,0,0,0.985068636282,0.0149313637183,102.590893,2562.343936 +124,115,15.872000,26.71504211,128,false,sigmoid,0,1,,,0,0,0,0.985571943847,0.0144280561529,103.341092,2562.343936 +125,116,16.000000,26.38569498,128,false,sigmoid,0,2,,,0,0,0,0.985990140347,0.0140098596528,104.098172,2562.343936 From 4b80a4f78f954a93aa5d4a022b20efe661a7b184 Mon Sep 17 00:00:00 2001 From: w10800 <1793719632@qq.com> Date: Tue, 21 Jul 2026 17:55:46 +0800 Subject: [PATCH 18/60] Add final paired 16 kimg fixed-seed evaluation Add the canonical fixed-vs-adaptive NFE=1/2 evaluation evidence, deterministic manifests, method grids, same-seed comparison grids, and final provenance documentation. --- .../FINAL_EVALUATION_README.md | 110 +++++++++++++++ .../metadata.json | 116 ++++++++++++++++ .../nfe1/grid_8x8.png | Bin 0 -> 89603 bytes .../nfe2/grid_8x8.png | Bin 0 -> 154344 bytes .../sha256_manifest.txt | 131 ++++++++++++++++++ .../comparison_nfe1_fixed_vs_adaptive.png | Bin 0 -> 168964 bytes .../comparison_nfe2_fixed_vs_adaptive.png | Bin 0 -> 298366 bytes .../metadata.json | 116 ++++++++++++++++ .../nfe1/grid_8x8.png | Bin 0 -> 91014 bytes .../nfe2/grid_8x8.png | Bin 0 -> 154088 bytes .../sha256_manifest.txt | 131 ++++++++++++++++++ 11 files changed, 604 insertions(+) create mode 100644 results/final_paired_16k/FINAL_EVALUATION_README.md create mode 100644 results/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98/metadata.json create mode 100644 results/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98/nfe1/grid_8x8.png create mode 100644 results/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98/nfe2/grid_8x8.png create mode 100644 results/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98/sha256_manifest.txt create mode 100644 results/final_paired_16k/comparison_nfe1_fixed_vs_adaptive.png create mode 100644 results/final_paired_16k/comparison_nfe2_fixed_vs_adaptive.png create mode 100644 results/final_paired_16k/sigmoid_16k_canonical-32aa46615846/metadata.json create mode 100644 results/final_paired_16k/sigmoid_16k_canonical-32aa46615846/nfe1/grid_8x8.png create mode 100644 results/final_paired_16k/sigmoid_16k_canonical-32aa46615846/nfe2/grid_8x8.png create mode 100644 results/final_paired_16k/sigmoid_16k_canonical-32aa46615846/sha256_manifest.txt diff --git a/results/final_paired_16k/FINAL_EVALUATION_README.md b/results/final_paired_16k/FINAL_EVALUATION_README.md new file mode 100644 index 00000000..08ef3dd9 --- /dev/null +++ b/results/final_paired_16k/FINAL_EVALUATION_README.md @@ -0,0 +1,110 @@ +# Final paired 16 kimg fixed-seed evaluation + +## Material Passport + +- Mode: `validate` +- Verification status: `VERIFIED` +- Training commit: `5344a5c97ab461b640ad5c5413cbf57eec527c2a` +- Evaluation code commit: `ef4aa3142eb2049bd5d541d18d7278cdf758029c` +- Initial evidence packaging commit: `9617942166154dc8a91f6070073fa868ca9ac3da` +- Evaluation environment: `ect-clean-validation` +- Runtime: Python 3.9.18, PyTorch 2.3.0, CUDA 12.1 +- GPU: NVIDIA A100-PCIE-40GB +- Data access: compact grids and metadata are committed; individual PNGs and full logs remain on persistent storage + +## Checkpoints + +| Method | Persistent checkpoint | SHA-256 | +| --- | --- | --- | +| Sigmoid fixed schedule | `/mnt/ect_project/checkpoints/paired_16k_5344a5c_canonical/sigmoid_16k_canonical.pkl` | `32aa4661584663c40bc05a3b5c5bef3bd4e8b60e289023d491fbe46fac5478ed` | +| Adaptive v1 schedule | `/mnt/ect_project/checkpoints/paired_16k_5344a5c_canonical/adaptive_v1_16k_canonical.pkl` | `7d162808dc98deec28d269693cba4242b97e52d8431017fe9e45a54a8c3d151a` | + +Both checkpoint hashes were verified immediately before sampling. + +## Evaluation protocol + +- Seeds: `0-63`, exactly once per mode +- NFE modes: `1` and `2` +- NFE=2 intermediate time: `mid_t=0.821` +- Precision: FP32 +- Device: CUDA +- Model forward batch size: 1 +- Primary work-group size: 8 +- Verification work-group size: 16 +- Repeat runs verified by the sampler: 2 +- Image format: RGB, 32×32 PNG +- FID-50k/KID-50k: not run + +The sampler generated every image once for work-group size 8, regenerated it +for work-group size 16, and generated it again for the repeat-run check. It +raises an error before writing final evidence if any corresponding pixels +differ. + +## Verified results + +| Method | NFE=1 images | NFE=2 images | Manifest entries | Total elapsed | Determinism | Work groups | +| --- | ---: | ---: | ---: | ---: | --- | --- | +| Sigmoid fixed schedule | 64 | 64 | 131 | 11.157285 s | PASS | 8/16 pixel-identical | +| Adaptive v1 schedule | 64 | 64 | 131 | 11.209927 s | PASS | 8/16 pixel-identical | + +Independent post-run validation confirmed: + +- both seed lists are exactly `0-63`, with no missing or duplicate seeds; +- all 256 individual outputs are RGB 32×32 PNGs; +- all four method/NFE groups contain exactly 64 images; +- all four 8×8 method grids are RGB 256×256 images; +- each result manifest contains exactly 128 individual images, two grids, and + one metadata file; +- every manifest entry matches the corresponding persistent file; +- both metadata files record the required evaluation commit, checkpoint hash, + NFE modes, `mid_t`, FP32 precision, A100 device, image counts, repeat-run + verification, and work-group verification. + +## Visual evidence + +Each method directory contains its NFE=1 and NFE=2 8×8 grid. The two comparison +grids arrange eight seed pairs per row and eight rows in total. Within every +pair, the Sigmoid/fixed output is on the left and the Adaptive v1 output is on +the right; seeds are ordered `0-63` row-major. + +| Comparison | SHA-256 | +| --- | --- | +| `comparison_nfe1_fixed_vs_adaptive.png` | `d95f4bdea4bb25f6cc735f60ed1df1182bb34f809a3e701ebcbc09fee8a10cc6` | +| `comparison_nfe2_fixed_vs_adaptive.png` | `52307e52e24505f09f47760142a140803b17aec81de3cd4354a43dc2180f092b` | + +For the same seed, the fixed and adaptive PNG hashes differ for all 64 seeds at +NFE=1 and all 64 seeds at NFE=2. This establishes that the two checkpoints do +not produce byte-identical outputs under the shared protocol. It does **not** +establish that either method has better generation quality. + +## Persistent evidence and manifest scope + +The complete evaluation output remains at: + +```text +/mnt/ect_project/evaluations/final_paired_16k/ +├── sigmoid_16k_canonical-32aa46615846/ +├── adaptive_v1_16k_canonical-7d162808dc98/ +├── comparison_nfe1_fixed_vs_adaptive.png +└── comparison_nfe2_fixed_vs_adaptive.png +``` + +The committed `sha256_manifest.txt` files describe the complete persistent +result directories, including the individual PNGs that are intentionally not +committed. Validate them on the evaluation node with: + +```bash +cd /mnt/ect_project/evaluations/final_paired_16k/sigmoid_16k_canonical-32aa46615846 +sha256sum -c sha256_manifest.txt + +cd /mnt/ect_project/evaluations/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98 +sha256sum -c sha256_manifest.txt +``` + +## Interpretation boundary + +This evaluation verifies checkpoint identity, deterministic fixed-seed +sampling, work-group independence, output completeness, and side-by-side visual +availability. No FID, KID, statistical quality comparison, or superiority claim +is included. Statistical fallacy scanning is not applicable because no +inferential statistics or quality metrics were computed. diff --git a/results/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98/metadata.json b/results/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98/metadata.json new file mode 100644 index 00000000..1816cac6 --- /dev/null +++ b/results/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98/metadata.json @@ -0,0 +1,116 @@ +{ + "schema_version": "1.0", + "evaluation_git_commit": "ef4aa3142eb2049bd5d541d18d7278cdf758029c", + "checkpoint_path": "/mnt/ect_project/checkpoints/paired_16k_5344a5c_canonical/adaptive_v1_16k_canonical.pkl", + "checkpoint_sha256": "7d162808dc98deec28d269693cba4242b97e52d8431017fe9e45a54a8c3d151a", + "checkpoint_id": "adaptive_v1_16k_canonical-7d162808dc98", + "output_directory": "/mnt/ect_project/evaluations/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98", + "seed_count": 64, + "seed_list": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "nfe_modes": [ + 1, + 2 + ], + "mid_t_by_mode": { + "nfe1": [], + "nfe2": [ + 0.821 + ] + }, + "precision_requested": "fp32", + "precision": "fp32", + "device": "cuda", + "gpu": "NVIDIA A100-PCIE-40GB", + "elapsed_seconds_total": 11.209927, + "elapsed_seconds_by_mode": { + "nfe1": 4.105832, + "nfe2": 7.10406 + }, + "image_count_total": 128, + "image_count_by_mode": { + "nfe1": 64, + "nfe2": 64 + }, + "generator_implementation": "ct_eval.generator_fn", + "model_forward_batch_size": 1, + "work_group_sizes_verified": [ + 8, + 16 + ], + "image_resolution": [ + 32, + 32 + ], + "image_channels": 3, + "determinism_passed": true, + "repeat_runs_verified": 2, + "verified_modes": [ + "nfe1", + "nfe2" + ] +} diff --git a/results/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98/nfe1/grid_8x8.png b/results/final_paired_16k/adaptive_v1_16k_canonical-7d162808dc98/nfe1/grid_8x8.png new file mode 100644 index 0000000000000000000000000000000000000000..da476d639e1f84c53a467ebce0f2dd3474d3a42e GIT binary patch literal 89603 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