Per-stage training overlay ([stage{1,2}_model.train] over global [train]) #43

Open
opened 2026-08-13 15:08:03 +02:00 by lars · 0 comments
Owner

TrainConfig is global, and StageSpec.from_config copies t.lr,
t.epochs, t.warmup_epochs, t.ema_decay into both stages
(giant/training/trainers.py:159-164). But the branch's whole premise is that
the two stages can run different generators — and the shipped default is
exactly that (stage1 = flow, stage2 = wgan). A WGAN stage and a flow stage
want different learning rates, different warmup, and different epoch budgets;
right now they can't have them.

Proposal: optional [stage1_model.train] / [stage2_model.train] overlays
deep-merged over [train]. StageSpec.from_config is already the single place
that reads training config, so this is a contained change with immediate payoff
for the default configuration.


Migrated from issues.md (v0.3.0 branch review, 2026-08-13), Issue 18.

`TrainConfig` is global, and `StageSpec.from_config` copies `t.lr`, `t.epochs`, `t.warmup_epochs`, `t.ema_decay` into both stages (`giant/training/trainers.py:159-164`). But the branch's whole premise is that the two stages can run **different generators** — and the shipped default is exactly that (`stage1 = flow`, `stage2 = wgan`). A WGAN stage and a flow stage want different learning rates, different warmup, and different epoch budgets; right now they can't have them. **Proposal:** optional `[stage1_model.train]` / `[stage2_model.train]` overlays deep-merged over `[train]`. `StageSpec.from_config` is already the single place that reads training config, so this is a contained change with immediate payoff for the default configuration. --- Migrated from `issues.md` (v0.3.0 branch review, 2026-08-13), Issue 18.
lars added the feature label 2026-08-13 15:08:03 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lars/giant#43