FlowAR + I2SB hybrid - training checkpoints
Checkpoints from the flowar-variant branch of forward-free-duffiser: a scale-wise
autoregressive generator (FlowAR) whose FINE scales are produced by an I2SB
Schrodinger-bridge refiner that deblurs the regridded previous scale, while the
COARSE scales keep FlowAR flow matching. Class-conditional ImageNet-256, KL-16 VAE
latents, scales 1/2/4/8/16.
These are mid-training checkpoints, not final results.
| run | description | params (M) | epoch | contents | file |
|---|---|---|---|---|---|
ff_s_hybrid |
FlowAR-S backbone + I2SB hybrid heads (d2/w1024) | 213.7 | 188 / 400 | EMA weights only | ff_s_hybrid/ema-ep188.pt |
ff_l_hybrid |
FlowAR-L backbone + I2SB hybrid heads (d6/w1024) | 591.4 | 71 / 400 | blocked by storage limit | not uploaded |
ff_l_baseline |
FlowAR-L 589M baseline, flow matching only (d12/w1024) | 586.9 | 55 / 400 | blocked by storage limit | not uploaded |
Training recipe (identical across all three runs)
Effective batch 2048 (per-GPU batch x grad-accum x 4 GPUs), base lr 5e-5 scaled to a peak of 4e-4, 100-epoch warmup then cosine decay over 400 epochs, bf16 autocast, weight decay 0.02 with the generator heads exempt, EMA 0.9999.
Checkpoint contents
A checkpoint-epN.pth is a torch.save dict with model, model_ema,
optimizer, scaler, epoch and the training args. An ema-epN.pt carries
only model_ema, epoch and args, which is everything needed to sample or
evaluate. Always evaluate with the EMA weights. Load with
torch.load(..., weights_only=False), because args is a pickled Namespace.
Sampling notes
The fine-scale I2SB bridge keeps improving with more sampling steps -- use >=100
(--num_step 100); flow matching is flat at ~25 steps. Classifier-free guidance
matters a great deal here: evaluate at cfg 2.4-3.0, never at 1.0.