This file documents what is already implemented and what must be reported for fair comparison across models.
Implemented in flow-matching-euler.ipynb (Euler-based CFM version):
- Run folder creation:
runs/cfm_<timestamp>/ - Config + env snapshot:
config.json - Training logs:
train_log.jsonl(per step)epoch_log.jsonl(per epoch)
- Checkpoints:
checkpoints/last.ptcheckpoints/best.ptcheckpoints/epoch_XXX.pt
- Progress images during training:
samples/progress/progress_epoch_XXX.png(fixed seed, fixed NFE)
- Final generated images for comparison:
samples/eval/nfe_10/samples/eval/nfe_20/samples/eval/nfe_50/samples/eval/nfe_100/
- Metrics artifacts:
metrics/metrics_summary.jsonmetrics/metrics_summary.jsonlmetrics/fid_results.jsonmetrics/runtime_results.json
- Run notes:
notes.txt - Resume support:
- set
cfg.resume_checkpointtoruns/<run_id>/checkpoints/last.pt - training continues from next epoch and appends to existing JSONL logs
- set
Note: FID/IS are computed only if torchmetrics is available. If not, generated images + runtime are still saved for external evaluation.
Apply the same protocol for all methods (CFM, DDPM, DDIM):
- Same CIFAR-10 preprocessing and image resolution.
- Same FID real-data stats and same number of generated images.
- Same NFE points:
10, 20, 50, 100. - Report solver/sampler details explicitly.
Primary:
FIDvsNFE
Secondary:
IS- Runtime (
sec/imageorimages/sec) vsNFE
Optional (inversion/editing):
PSNR,LPIPS,MSEforx -> z -> x_hat- Qualitative edit grids
modelcheckpoint_namenfesolver_samplernum_generatedfidis_meanis_stdsec_per_imagetotal_sampling_secseednotes