zhengzhou commited on
Commit
fab088d
·
verified ·
1 Parent(s): 8255c93

Add files using upload-large-folder tool

Browse files
Files changed (35) hide show
  1. LICENSE +31 -0
  2. MANIFEST.md +81 -0
  3. MODEL_CARD.md +281 -0
  4. README.md +281 -0
  5. class-conditional/imagenet256/eit-imagenet256-480ep.pt +3 -0
  6. class-conditional/imagenet256/eit-imagenet256-800ep.pt +3 -0
  7. class-conditional/imagenet256/eit-imagenet256-80ep.pt +3 -0
  8. class-conditional/imagenet256/eit-imagenet256-weak-20ep.pt +3 -0
  9. class-conditional/imagenet512/eit-imagenet512-400ep.pt +3 -0
  10. class-conditional/imagenet512/eit-imagenet512-80ep.pt +3 -0
  11. text-to-image/variant-a/eit-t2i-variant-a-512.pt +3 -0
  12. text-to-image/variant-b/eit-t2i-variant-b-512.pt +3 -0
  13. vae/e2e-f16d32-nodecft/e2e-f16d32-nodecft-discriminator-ckpt.pt +3 -0
  14. vae/e2e-f16d32-nodecft/e2e-f16d32-nodecft-latents-stats.pt +3 -0
  15. vae/e2e-f16d32-nodecft/e2e-f16d32-nodecft.pt +3 -0
  16. vae/e2e-f16d32/e2e-f16d32-discriminator-ckpt.pt +3 -0
  17. vae/e2e-f16d32/e2e-f16d32-latents-stats.pt +3 -0
  18. vae/e2e-f16d32/e2e-f16d32.pt +3 -0
  19. vae/e2e-f8d4/e2e-f8d4-discriminator-ckpt.pt +3 -0
  20. vae/e2e-f8d4/e2e-f8d4-latents-stats.pt +3 -0
  21. vae/e2e-f8d4/e2e-f8d4.pt +3 -0
  22. vae/e2e-flux-vae-mmdit-l2-t2i-s2/e2e-flux-vae-mmdit-l2-t2i-s2-discriminator-ckpt.pt +3 -0
  23. vae/e2e-flux-vae-mmdit-l2-t2i-s2/e2e-flux-vae-mmdit-l2-t2i-s2-latents-stats.pt +3 -0
  24. vae/e2e-flux-vae-mmdit-l2-t2i-s2/e2e-flux-vae-mmdit-l2-t2i-s2.pt +3 -0
  25. vae/e2e-flux-vae-sit-imagenet-s2/e2e-flux-vae-sit-imagenet-s2-discriminator-ckpt.pt +3 -0
  26. vae/e2e-flux-vae-sit-imagenet-s2/e2e-flux-vae-sit-imagenet-s2-latents-stats.pt +3 -0
  27. vae/e2e-flux-vae-sit-imagenet-s2/e2e-flux-vae-sit-imagenet-s2.pt +3 -0
  28. vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/config.json +107 -0
  29. vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/diffusion_pytorch_model.safetensors +3 -0
  30. vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k-discriminator-ckpt.pt +3 -0
  31. vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k-latents-stats.pt +3 -0
  32. vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k-stage2-bn-latents-stats.pt +3 -0
  33. vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.pt +3 -0
  34. vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.safetensors +3 -0
  35. vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/vae_params.json +82 -0
LICENSE ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2025 ByteDance Ltd. and/or its affiliates
4
+ Copyright (c) 2025 Xingjian Leng and Jaskirat Singh
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+
24
+ ---
25
+
26
+ This license covers the work of the copyright holders named above. This
27
+ repository also vendors third-party files that are distributed under their own
28
+ terms, and some of those terms are more restrictive than the MIT license --
29
+ notably several files that are licensed for non-commercial use only. Those
30
+ files are listed individually in NOTICE, which you should read before using
31
+ this repository.
MANIFEST.md ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # GenFirst model release manifest
2
+
3
+ All paths below are relative to the root of this model release. These are the
4
+ checkpoints used for the paper results, not the later validation runs.
5
+
6
+ ## VAE bundles
7
+
8
+ - `vae/e2e-f8d4/`: ImageNet f8d4 VAE initialized from SD-VAE.
9
+ - `vae/e2e-f16d32/`: decoder-finetuned f16d32 VAE used by the ImageNet-256
10
+ class-conditional results.
11
+ - `vae/e2e-f16d32-nodecft/`: pre-decoder-finetune f16d32 VAE used by the
12
+ ImageNet-512 results.
13
+ - `vae/e2e-flux-vae-sit-imagenet-s2/`: T2I variant A VAE (FLUX.1 init).
14
+ - `vae/e2e-flux-vae-mmdit-l2-t2i-s2/`: T2I variant B VAE (FLUX.1 init).
15
+ - `vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/`: 32-channel f8d32 E2E FLUX.2 VAE
16
+ (three-stage aspect-ratio-bucketed E2E + decoder finetune).
17
+
18
+ Every VAE directory contains:
19
+
20
+ - `<name>.pt`: directly loadable VAE state dict.
21
+ - `<name>-latents-stats.pt`: required latent normalization statistics.
22
+ - `<name>-discriminator-ckpt.pt`: only needed to resume end-to-end training.
23
+
24
+ In addition, `vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/` includes:
25
+
26
+ - `e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.safetensors` and `diffusion_pytorch_model.safetensors`:
27
+ diffusers-compatible safetensors weights.
28
+ - `config.json` and `vae_params.json`: diffusers configuration and explicit per-channel
29
+ `scaling_factor` and `shift_factor`:
30
+ - `--vae_pth=vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.safetensors`
31
+ - `--model.vae.scaling_factor=[0.887221,0.886926,0.887096,0.881914,0.886901,0.887307,0.886685,0.886833,0.886540,0.886646,0.887031,0.887073,0.887381,0.886768,0.887299,0.885674,0.886466,0.886795,0.886979,0.886519,0.886949,0.886949,0.887036,0.886828,0.887344,0.887004,0.886816,0.886799,0.887354,0.887523,0.887012,0.886643]`
32
+ - `--model.vae.shift_factor=[-0.000623,0.000143,0.000282,0.001599,-0.001093,-0.000477,0.000855,-0.000830,-0.000883,0.001076,-0.000417,0.000200,0.000626,-0.000649,-0.000137,0.001453,-0.000816,-0.000307,-0.000290,0.000662,0.000484,0.000993,0.000574,-0.000139,-0.000914,0.000578,-0.000691,-0.000323,0.000619,-0.000606,-0.000372,0.000437]`
33
+ - `e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k-stage2-bn-latents-stats.pt`: Stage-2 70k SiT EMA BatchNorm statistics.
34
+
35
+ Keep each VAE and its latent statistics together.
36
+
37
+ ## Class-conditional priors
38
+
39
+ ImageNet-256, paired with `vae/e2e-f16d32/`:
40
+
41
+ - `class-conditional/imagenet256/eit-imagenet256-weak-20ep.pt`: weak model
42
+ required for the paper's autoguidance evaluation.
43
+ - `class-conditional/imagenet256/eit-imagenet256-80ep.pt`
44
+ - `class-conditional/imagenet256/eit-imagenet256-480ep.pt`
45
+ - `class-conditional/imagenet256/eit-imagenet256-800ep.pt`
46
+
47
+ ImageNet-512, paired with `vae/e2e-f16d32-nodecft/`:
48
+
49
+ - `class-conditional/imagenet512/eit-imagenet512-80ep.pt`
50
+ - `class-conditional/imagenet512/eit-imagenet512-400ep.pt`
51
+
52
+ These prior checkpoints are directly accepted by
53
+ `Prior_only/generate.py --ckpt` and `Prior_only/scripts/eval_fid.sh` through its
54
+ `CKPT` override. Do not convert or strip them.
55
+
56
+ ## Text-to-image priors
57
+
58
+ - `text-to-image/variant-a/eit-t2i-variant-a-512.pt`, paired with
59
+ `vae/e2e-flux-vae-sit-imagenet-s2/`.
60
+ - `text-to-image/variant-b/eit-t2i-variant-b-512.pt`, paired with
61
+ `vae/e2e-flux-vae-mmdit-l2-t2i-s2/`.
62
+
63
+ These checkpoints are directly accepted by `Prior_only/infer_t2i.py` and the
64
+ GenEval/DPG generation scripts. Pass the matching VAE, latent statistics and
65
+ `--text-encoder-name openai/clip-vit-large-patch14`; no checkpoint conversion
66
+ is required.
67
+
68
+ ## Checkpoint formats produced by the repository
69
+
70
+ - `train_prior_only.py` and `train_t2i_frozen.py` save final checkpoints in
71
+ direct evaluation format.
72
+ - Class-conditional `train_e2e.py` checkpoints can be used directly by the
73
+ top-level `generate.py`; all `train_e2e.py`, `train_e2e_vae.py`, and
74
+ `train_decoder_ft.py` checkpoints can be evaluated directly for reconstruction.
75
+ Before using either checkpoint's VAE with a separate prior, run
76
+ `Prior_only/scripts/run_prior_only_pipeline.sh extract`, which calls
77
+ `save_vae_weights.py` to produce a standalone VAE bundle.
78
+ - A downloaded VAE bundle is already extracted and must not be extracted again.
79
+
80
+ Weights are released under CC BY-NC 4.0. See the repository's
81
+ `MODEL_CARD.md`, `NOTICE`, and documentation for complete terms and commands.
MODEL_CARD.md ADDED
@@ -0,0 +1,281 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-nc-4.0
3
+ library_name: pytorch
4
+ pipeline_tag: text-to-image
5
+ tags:
6
+ - diffusion
7
+ - latent-diffusion
8
+ - end-to-end-training
9
+ - variational-autoencoder
10
+ - text-to-image
11
+ - class-conditional-image-generation
12
+ - sit
13
+ - mmdit
14
+ ---
15
+
16
+ # GenFirst
17
+
18
+ Generation Before Reconstruction for Stable End-to-End Latent Generative Modeling.
19
+
20
+ - Paper: [arXiv:2608.29335](https://arxiv.org/abs/2608.29335)
21
+ - Code: [github.com/ByteDance-Seed/GenFirst](https://github.com/ByteDance-Seed/GenFirst)
22
+ - Project page: [tom-zgt.github.io/GenFirst](https://tom-zgt.github.io/GenFirst/)
23
+
24
+ These weights are released under **CC BY-NC 4.0: non-commercial research use
25
+ only**, which is stricter than the MIT licence on the code. See
26
+ [Licence and third-party terms](#licence-and-third-party-terms) before use.
27
+
28
+ ## What this is
29
+
30
+ GenFirst trains a latent VAE jointly with a generative prior without the latent
31
+ collapse that usually makes such end-to-end training unstable. The method is a
32
+ two-phase schedule over the prior and entropy weights: phase 1 lets the prior
33
+ shape the latent geometry, phase 2 drops both weights tenfold so the decoder
34
+ recovers detail. The result is a latent space that a diffusion prior fits well
35
+ while remaining a good autoencoder.
36
+
37
+ This release covers the **EiT** (diffusion-prior) instantiation. The
38
+ autoregressive **EAR** instantiation from the paper is not released.
39
+
40
+ Two kinds of artifact are published, and they are used together:
41
+
42
+ 1. **End-to-end VAEs** — the encoder/decoder produced by the end-to-end stage,
43
+ each shipped with its latent normalization statistics.
44
+ 2. **Generative priors** — SiT models for class-conditional generation, and
45
+ MMDiT models for text-to-image, each trained on a frozen VAE from (1).
46
+
47
+ ## Model details
48
+
49
+ | | |
50
+ |---|---|
51
+ | Developed by | Guangting Zheng, Yiyuan Zhang, Tao Yang, Yunpeng Chen, Rui Zhu, Jiajun Deng, Yanyong Zhang |
52
+ | Model type | Latent diffusion (flow matching / stochastic interpolant) with a jointly trained VAE |
53
+ | Prior architecture | SiT-XL and MMDiT-XL: 28 blocks, width 1152, 16 attention heads (~675M parameters) |
54
+ | Text encoder (text-to-image) | CLIP-L, frozen, not modified by us |
55
+ | Precision | Weights released in fp32; sampling tested in bf16 |
56
+ | Framework | PyTorch |
57
+ | Inference code | Required — see [Usage](#usage). These are raw `.pt` checkpoints, not `diffusers` pipelines. |
58
+
59
+ ### Class-conditional priors
60
+
61
+ `SiT-XL` on a frozen end-to-end VAE. Conditioning is a single integer class
62
+ label in `[0, 999]` following the standard 1000-class label ordering; there is
63
+ no text input. Epoch counts are prior-only training epochs.
64
+
65
+ | Checkpoint | Resolution | VAE | gFID | IS | gFID (guided) | IS (guided) |
66
+ |---|---|---|---|---|---|---|
67
+ | EiT, 80 epochs | 256x256 | `f16d32` | 2.79 | 175.4 | 1.38 | 271.3 |
68
+ | EiT, 480 epochs | 256x256 | `f16d32` | 1.60 | 216.8 | 0.988 | 270.7 |
69
+ | EiT, 800 epochs | 256x256 | `f16d32` | **1.45** | 226.7 | **0.969** | 283.4 |
70
+ | EiT, 80 epochs | 512x512 | `f16d32` | – | – | 1.63 | 278.9 |
71
+ | EiT, 400 epochs | 512x512 | `f16d32` | – | – | **1.23** | 286.1 |
72
+
73
+ The 512 models reuse the 256 `f16d32` VAE unchanged and frozen; only the prior
74
+ is trained at 512.
75
+
76
+ ### Text-to-image priors
77
+
78
+ `MMDiT-XL/2` with a frozen CLIP-L text encoder, on a frozen end-to-end FLUX
79
+ VAE, at 512x512. Scores are overall GenEval and DPG-Bench, with no prompt
80
+ rewriting. The two variants differ only in which VAE they were trained on.
81
+
82
+ | Checkpoint | Resolution | GenEval | DPG-Bench |
83
+ |---|---|---|---|
84
+ | EiT T2I, variant A | 512x512 | **0.8987** | **82.60** |
85
+ | EiT T2I, variant B | 512x512 | 0.8920 | 82.06 |
86
+
87
+ ### End-to-end VAEs
88
+
89
+ Reconstruction quality of the posterior mean, measured at the resolution the
90
+ VAE is used at.
91
+
92
+ | VAE | Downsample / channels | Initialized from | rFID | PSNR | SSIM | LPIPS |
93
+ |---|---|---|---|---|---|---|
94
+ | `f8d4` | 8x, 4ch | SD-VAE (`stabilityai/sd-vae-ft-ema`) | **0.57** | 25.13 | 0.71 | 0.14 |
95
+ | `f16d32` | 16x, 32ch | VA-VAE (LightningDiT) | 0.36 | 25.82 | 0.74 | 0.12 |
96
+ | `f8d16` variant A | 8x, 16ch | FLUX.1 VAE | 0.23 | 29.43 | 0.85 | 0.07 |
97
+ | `f8d16` variant B | 8x, 16ch | FLUX.1 VAE | 0.21 | 29.37 | 0.85 | 0.07 |
98
+ | `f8d32` (`e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k`, @512) | 8x, 32ch | FLUX.2 VAE | **0.041** | **36.46** | **0.953** | **0.026** |
99
+
100
+ **A VAE and its latent statistics must be kept together.** The prior was
101
+ trained on latents normalized by those exact statistics; pairing a VAE with the
102
+ wrong statistics file produces noise, not a degraded image. Each VAE directory
103
+ is laid out as:
104
+
105
+ ```
106
+ <name>/
107
+ <name>.pt VAE weights
108
+ <name>.safetensors VAE weights in diffusers safetensors format (for FLUX.2 release)
109
+ <name>-latents-stats.pt latent normalization (scale + bias)
110
+ <name>-discriminator-ckpt.pt discriminator, only needed to resume end-to-end training
111
+ config.json / vae_params.json diffusers config and explicit scaling_factor / shift_factor (for FLUX.2 release)
112
+ ```
113
+
114
+ For `vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k`, the per-channel `scaling_factor` and `shift_factor` parameters are:
115
+
116
+ ```bash
117
+ --vae_pth=vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.safetensors
118
+ --model.vae.scaling_factor=[0.887221,0.886926,0.887096,0.881914,0.886901,0.887307,0.886685,0.886833,0.886540,0.886646,0.887031,0.887073,0.887381,0.886768,0.887299,0.885674,0.886466,0.886795,0.886979,0.886519,0.886949,0.886949,0.887036,0.886828,0.887344,0.887004,0.886816,0.886799,0.887354,0.887523,0.887012,0.886643]
119
+ --model.vae.shift_factor=[-0.000623,0.000143,0.000282,0.001599,-0.001093,-0.000477,0.000855,-0.000830,-0.000883,0.001076,-0.000417,0.000200,0.000626,-0.000649,-0.000137,0.001453,-0.000816,-0.000307,-0.000290,0.000662,0.000484,0.000993,0.000574,-0.000139,-0.000914,0.000578,-0.000691,-0.000323,0.000619,-0.000606,-0.000372,0.000437]
120
+ ```
121
+
122
+ ## Usage
123
+
124
+ These checkpoints need the training repository; there is no `diffusers`
125
+ integration and no `from_pretrained` entry point.
126
+
127
+ ```bash
128
+ git clone https://github.com/ByteDance-Seed/GenFirst
129
+ cd GenFirst
130
+ pip install -r requirements.txt # install torch first
131
+ ```
132
+
133
+ Class-conditional sampling, writing a small batch of images rather than a full
134
+ evaluation run:
135
+
136
+ ```bash
137
+ cd Prior_only
138
+ python generate.py \
139
+ --model SiT-XL/1 --resolution 256 \
140
+ --ckpt /path/to/prior.pt \
141
+ --vae-arch f16d32 \
142
+ --vae-ckpt /path/to/e2e-f16d32.pt \
143
+ --latents-stats /path/to/e2e-f16d32-latents-stats.pt \
144
+ --num-fid-samples 64 --label-sampling random \
145
+ --cfg-scale 1.5 --sample-dir samples
146
+ ```
147
+
148
+ `--model` must match the VAE: `SiT-XL/2` for `f8d4`, `SiT-XL/1` for `f16d32`.
149
+ Text-to-image sampling, the guidance settings that reproduce the numbers above,
150
+ and the full evaluation harness are documented in the repository under `docs/`.
151
+
152
+ ## Evaluation
153
+
154
+ Reported metrics and their protocols:
155
+
156
+ - **gFID / IS** — 50,000 generated samples scored with
157
+ [torch-fidelity](https://github.com/LTH14/torch-fidelity) against the
158
+ reference statistics used by [MAR](https://github.com/LTH14/mar), at the
159
+ stated resolution. Sampling is SDE with 250 steps. Guided rows use
160
+ [autoguidance](https://arxiv.org/abs/2406.02507) (pointing away from an
161
+ early checkpoint of the same run) with CFG on top, except the 512 rows, which
162
+ use plain CFG.
163
+ - **rFID / PSNR / SSIM / LPIPS** — posterior-mean reconstructions over a
164
+ 50,000-image validation split, following
165
+ [latent-diffusion](https://github.com/CompVis/latent-diffusion). rFID here is
166
+ measured against those validation images, not a training-set reference, so it
167
+ is not comparable to numbers computed the other way.
168
+ - **GenEval / DPG-Bench** — overall scores, Euler sampling with 50 steps and
169
+ CFG 7.0 on the interval `[0.35, 1.0]`, no prompt rewriting.
170
+
171
+ Numbers were produced with the versions pinned in `environment.yml`. FID is
172
+ sensitive to reference statistics and to the resizing path, so comparisons
173
+ against other work are only meaningful under the same protocol.
174
+
175
+ ## Training
176
+
177
+ Training proceeds in two stages. The end-to-end stage trains the VAE jointly
178
+ with a prior under the two-phase GenFirst schedule (global batch 256; 400k
179
+ steps at the high weight, then 200k at the low one). The prior-only stage then
180
+ freezes the VAE, caches its latents, and trains from scratch the prior that is
181
+ actually evaluated (4M steps at 256, 2M at 512). An optional 10k-step
182
+ decoder-only finetune between the stages improves unguided gFID by roughly 0.2.
183
+ Text-to-image follows the same structure, with an `MMDiT-L/2` prior shaping the
184
+ latent during the end-to-end stage and the released `MMDiT-XL/2` trained on the
185
+ frozen result.
186
+
187
+ Training data consists of publicly available datasets. Individual corpora are
188
+ not enumerated here; each is subject to its own licence and terms of use, which
189
+ govern independently of the licence on these weights.
190
+
191
+ ## Intended use
192
+
193
+ Intended for research: reproducing the paper, studying end-to-end VAE and prior
194
+ training, latent-space analysis, and use as a baseline or initialization for
195
+ further non-commercial research.
196
+
197
+ **Out of scope.** Any commercial use. Generating content about real,
198
+ identifiable people. Generating sexual, violent, hateful, or otherwise harmful
199
+ imagery. Any use presenting outputs as real photographs or as factual records.
200
+ Any safety-critical or decision-making pipeline. These models produce synthetic
201
+ images with no factual grounding and must not be treated as a source of truth.
202
+
203
+ No safety filter, watermarking, or content classifier is included. Anyone
204
+ deploying these weights in a setting where outputs reach other people is
205
+ responsible for adding those controls.
206
+
207
+ ## Limitations and biases
208
+
209
+ - The class-conditional models generate from a fixed 1000-class label set and
210
+ cannot follow text. Their outputs reflect the visual distribution and the
211
+ category taxonomy they were fit to, including the geographic and cultural
212
+ skew documented for that style of curated image collection.
213
+ - The text-to-image models inherit the biases of both their training data and
214
+ the frozen CLIP-L text encoder. Expect uneven representation across
215
+ demographics, professions, and cultures, and expect prompt-following to
216
+ degrade on long, compositional, or counting-heavy prompts. GenEval and
217
+ DPG-Bench scores measure prompt alignment on those benchmarks only and do not
218
+ certify safety or fairness.
219
+ - Text rendering, hands, and fine structure remain unreliable, as with
220
+ comparable models at this scale.
221
+ - Metrics reported here are distribution-level. A good FID says nothing about
222
+ the quality or appropriateness of any single sample.
223
+ - The 512 class-conditional models are reported with guidance only; their
224
+ unguided behaviour is untuned.
225
+ - A VAE paired with mismatched latent statistics fails silently in the sense
226
+ that it produces output rather than an error. Check the pairing.
227
+
228
+ ## Licence and third-party terms
229
+
230
+ **Weights: [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/) —
231
+ non-commercial research use only, with attribution.** This is stricter than the
232
+ MIT licence on the code and is the binding constraint on these artifacts.
233
+
234
+ The code in the GitHub repository is MIT, but the repository as a whole is not
235
+ usable commercially as it stands: the data preprocessing derives from
236
+ [NVIDIA EDM2](https://github.com/NVlabs/edm2) under CC BY-NC-SA 4.0, and
237
+ several vendored encoders and samplers trace back to Meta projects under
238
+ CC BY-NC 4.0. The repository's `NOTICE` lists this component by component.
239
+
240
+ These weights are also derivative of upstream models, each carrying its own
241
+ terms that continue to apply and that you should verify for your use:
242
+
243
+ | Component | Upstream |
244
+ |---|---|
245
+ | `f8d4` VAE initialization | [stabilityai/sd-vae-ft-ema](https://huggingface.co/stabilityai/sd-vae-ft-ema) |
246
+ | `f16d32` VAE initialization | VA-VAE, from [LightningDiT](https://github.com/hustvl/LightningDiT) |
247
+ | `f8d16` VAE initialization | FLUX.1 VAE, [black-forest-labs](https://huggingface.co/black-forest-labs) |
248
+ | Text encoder | [OpenAI CLIP](https://github.com/openai/CLIP) |
249
+ | Prior architecture lineage | [REPA](https://github.com/sihyun-yu/REPA), [REPA-E](https://github.com/End2End-Diffusion/REPA-E), and DiT/SiT before them |
250
+
251
+ Training datasets carry their own terms independently of this licence, and
252
+ those terms may further restrict what you may do with a model trained on them.
253
+
254
+ ## Security
255
+
256
+ A `.pt` checkpoint is a pickle: loading one executes arbitrary Python. These
257
+ checkpoints store an `args` namespace alongside the tensors, so they cannot be
258
+ loaded with `weights_only=True` and require `weights_only=False` on torch 2.6
259
+ and newer. Load checkpoints only from sources you trust, and verify you are
260
+ downloading from the official repository.
261
+
262
+ To report a security vulnerability, follow `SECURITY.md` in the code
263
+ repository: contact the ByteDance security team rather than opening a public
264
+ issue.
265
+
266
+ ## Citation
267
+
268
+ ```bibtex
269
+ @article{zheng2026genfirst,
270
+ title={GenFirst: Generation Before Reconstruction for Stable End-to-End Latent Generative Modeling},
271
+ author={Zheng, Guangting and Zhang, Yiyuan and Yang, Tao and Chen, Yunpeng and Zhu, Rui and Deng, Jiajun and Zhang, Yanyong},
272
+ journal={arXiv preprint arXiv:2608.29335},
273
+ year={2026}
274
+ }
275
+ ```
276
+
277
+ ## Contact
278
+
279
+ Questions through [GitHub Issues](https://github.com/ByteDance-Seed/GenFirst/issues) or
280
+ mail to [zgt@mail.ustc.edu.cn](mailto:zgt@mail.ustc.edu.cn). Security reports
281
+ go to the address in `SECURITY.md`, not to Issues.
README.md ADDED
@@ -0,0 +1,281 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-nc-4.0
3
+ library_name: pytorch
4
+ pipeline_tag: text-to-image
5
+ tags:
6
+ - diffusion
7
+ - latent-diffusion
8
+ - end-to-end-training
9
+ - variational-autoencoder
10
+ - text-to-image
11
+ - class-conditional-image-generation
12
+ - sit
13
+ - mmdit
14
+ ---
15
+
16
+ # GenFirst
17
+
18
+ Generation Before Reconstruction for Stable End-to-End Latent Generative Modeling.
19
+
20
+ - Paper: [arXiv:2608.29335](https://arxiv.org/abs/2608.29335)
21
+ - Code: [github.com/ByteDance-Seed/GenFirst](https://github.com/ByteDance-Seed/GenFirst)
22
+ - Project page: [tom-zgt.github.io/GenFirst](https://tom-zgt.github.io/GenFirst/)
23
+
24
+ These weights are released under **CC BY-NC 4.0: non-commercial research use
25
+ only**, which is stricter than the MIT licence on the code. See
26
+ [Licence and third-party terms](#licence-and-third-party-terms) before use.
27
+
28
+ ## What this is
29
+
30
+ GenFirst trains a latent VAE jointly with a generative prior without the latent
31
+ collapse that usually makes such end-to-end training unstable. The method is a
32
+ two-phase schedule over the prior and entropy weights: phase 1 lets the prior
33
+ shape the latent geometry, phase 2 drops both weights tenfold so the decoder
34
+ recovers detail. The result is a latent space that a diffusion prior fits well
35
+ while remaining a good autoencoder.
36
+
37
+ This release covers the **EiT** (diffusion-prior) instantiation. The
38
+ autoregressive **EAR** instantiation from the paper is not released.
39
+
40
+ Two kinds of artifact are published, and they are used together:
41
+
42
+ 1. **End-to-end VAEs** — the encoder/decoder produced by the end-to-end stage,
43
+ each shipped with its latent normalization statistics.
44
+ 2. **Generative priors** — SiT models for class-conditional generation, and
45
+ MMDiT models for text-to-image, each trained on a frozen VAE from (1).
46
+
47
+ ## Model details
48
+
49
+ | | |
50
+ |---|---|
51
+ | Developed by | Guangting Zheng, Yiyuan Zhang, Tao Yang, Yunpeng Chen, Rui Zhu, Jiajun Deng, Yanyong Zhang |
52
+ | Model type | Latent diffusion (flow matching / stochastic interpolant) with a jointly trained VAE |
53
+ | Prior architecture | SiT-XL and MMDiT-XL: 28 blocks, width 1152, 16 attention heads (~675M parameters) |
54
+ | Text encoder (text-to-image) | CLIP-L, frozen, not modified by us |
55
+ | Precision | Weights released in fp32; sampling tested in bf16 |
56
+ | Framework | PyTorch |
57
+ | Inference code | Required — see [Usage](#usage). These are raw `.pt` checkpoints, not `diffusers` pipelines. |
58
+
59
+ ### Class-conditional priors
60
+
61
+ `SiT-XL` on a frozen end-to-end VAE. Conditioning is a single integer class
62
+ label in `[0, 999]` following the standard 1000-class label ordering; there is
63
+ no text input. Epoch counts are prior-only training epochs.
64
+
65
+ | Checkpoint | Resolution | VAE | gFID | IS | gFID (guided) | IS (guided) |
66
+ |---|---|---|---|---|---|---|
67
+ | EiT, 80 epochs | 256x256 | `f16d32` | 2.79 | 175.4 | 1.38 | 271.3 |
68
+ | EiT, 480 epochs | 256x256 | `f16d32` | 1.60 | 216.8 | 0.988 | 270.7 |
69
+ | EiT, 800 epochs | 256x256 | `f16d32` | **1.45** | 226.7 | **0.969** | 283.4 |
70
+ | EiT, 80 epochs | 512x512 | `f16d32` | – | – | 1.63 | 278.9 |
71
+ | EiT, 400 epochs | 512x512 | `f16d32` | – | – | **1.23** | 286.1 |
72
+
73
+ The 512 models reuse the 256 `f16d32` VAE unchanged and frozen; only the prior
74
+ is trained at 512.
75
+
76
+ ### Text-to-image priors
77
+
78
+ `MMDiT-XL/2` with a frozen CLIP-L text encoder, on a frozen end-to-end FLUX
79
+ VAE, at 512x512. Scores are overall GenEval and DPG-Bench, with no prompt
80
+ rewriting. The two variants differ only in which VAE they were trained on.
81
+
82
+ | Checkpoint | Resolution | GenEval | DPG-Bench |
83
+ |---|---|---|---|
84
+ | EiT T2I, variant A | 512x512 | **0.8987** | **82.60** |
85
+ | EiT T2I, variant B | 512x512 | 0.8920 | 82.06 |
86
+
87
+ ### End-to-end VAEs
88
+
89
+ Reconstruction quality of the posterior mean, measured at the resolution the
90
+ VAE is used at.
91
+
92
+ | VAE | Downsample / channels | Initialized from | rFID | PSNR | SSIM | LPIPS |
93
+ |---|---|---|---|---|---|---|
94
+ | `f8d4` | 8x, 4ch | SD-VAE (`stabilityai/sd-vae-ft-ema`) | **0.57** | 25.13 | 0.71 | 0.14 |
95
+ | `f16d32` | 16x, 32ch | VA-VAE (LightningDiT) | 0.36 | 25.82 | 0.74 | 0.12 |
96
+ | `f8d16` variant A | 8x, 16ch | FLUX.1 VAE | 0.23 | 29.43 | 0.85 | 0.07 |
97
+ | `f8d16` variant B | 8x, 16ch | FLUX.1 VAE | 0.21 | 29.37 | 0.85 | 0.07 |
98
+ | `f8d32` (`e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k`, @512) | 8x, 32ch | FLUX.2 VAE | **0.041** | **36.46** | **0.953** | **0.026** |
99
+
100
+ **A VAE and its latent statistics must be kept together.** The prior was
101
+ trained on latents normalized by those exact statistics; pairing a VAE with the
102
+ wrong statistics file produces noise, not a degraded image. Each VAE directory
103
+ is laid out as:
104
+
105
+ ```
106
+ <name>/
107
+ <name>.pt VAE weights
108
+ <name>.safetensors VAE weights in diffusers safetensors format (for FLUX.2 release)
109
+ <name>-latents-stats.pt latent normalization (scale + bias)
110
+ <name>-discriminator-ckpt.pt discriminator, only needed to resume end-to-end training
111
+ config.json / vae_params.json diffusers config and explicit scaling_factor / shift_factor (for FLUX.2 release)
112
+ ```
113
+
114
+ For `vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k`, the per-channel `scaling_factor` and `shift_factor` parameters are:
115
+
116
+ ```bash
117
+ --vae_pth=vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.safetensors
118
+ --model.vae.scaling_factor=[0.887221,0.886926,0.887096,0.881914,0.886901,0.887307,0.886685,0.886833,0.886540,0.886646,0.887031,0.887073,0.887381,0.886768,0.887299,0.885674,0.886466,0.886795,0.886979,0.886519,0.886949,0.886949,0.887036,0.886828,0.887344,0.887004,0.886816,0.886799,0.887354,0.887523,0.887012,0.886643]
119
+ --model.vae.shift_factor=[-0.000623,0.000143,0.000282,0.001599,-0.001093,-0.000477,0.000855,-0.000830,-0.000883,0.001076,-0.000417,0.000200,0.000626,-0.000649,-0.000137,0.001453,-0.000816,-0.000307,-0.000290,0.000662,0.000484,0.000993,0.000574,-0.000139,-0.000914,0.000578,-0.000691,-0.000323,0.000619,-0.000606,-0.000372,0.000437]
120
+ ```
121
+
122
+ ## Usage
123
+
124
+ These checkpoints need the training repository; there is no `diffusers`
125
+ integration and no `from_pretrained` entry point.
126
+
127
+ ```bash
128
+ git clone https://github.com/ByteDance-Seed/GenFirst
129
+ cd GenFirst
130
+ pip install -r requirements.txt # install torch first
131
+ ```
132
+
133
+ Class-conditional sampling, writing a small batch of images rather than a full
134
+ evaluation run:
135
+
136
+ ```bash
137
+ cd Prior_only
138
+ python generate.py \
139
+ --model SiT-XL/1 --resolution 256 \
140
+ --ckpt /path/to/prior.pt \
141
+ --vae-arch f16d32 \
142
+ --vae-ckpt /path/to/e2e-f16d32.pt \
143
+ --latents-stats /path/to/e2e-f16d32-latents-stats.pt \
144
+ --num-fid-samples 64 --label-sampling random \
145
+ --cfg-scale 1.5 --sample-dir samples
146
+ ```
147
+
148
+ `--model` must match the VAE: `SiT-XL/2` for `f8d4`, `SiT-XL/1` for `f16d32`.
149
+ Text-to-image sampling, the guidance settings that reproduce the numbers above,
150
+ and the full evaluation harness are documented in the repository under `docs/`.
151
+
152
+ ## Evaluation
153
+
154
+ Reported metrics and their protocols:
155
+
156
+ - **gFID / IS** — 50,000 generated samples scored with
157
+ [torch-fidelity](https://github.com/LTH14/torch-fidelity) against the
158
+ reference statistics used by [MAR](https://github.com/LTH14/mar), at the
159
+ stated resolution. Sampling is SDE with 250 steps. Guided rows use
160
+ [autoguidance](https://arxiv.org/abs/2406.02507) (pointing away from an
161
+ early checkpoint of the same run) with CFG on top, except the 512 rows, which
162
+ use plain CFG.
163
+ - **rFID / PSNR / SSIM / LPIPS** — posterior-mean reconstructions over a
164
+ 50,000-image validation split, following
165
+ [latent-diffusion](https://github.com/CompVis/latent-diffusion). rFID here is
166
+ measured against those validation images, not a training-set reference, so it
167
+ is not comparable to numbers computed the other way.
168
+ - **GenEval / DPG-Bench** — overall scores, Euler sampling with 50 steps and
169
+ CFG 7.0 on the interval `[0.35, 1.0]`, no prompt rewriting.
170
+
171
+ Numbers were produced with the versions pinned in `environment.yml`. FID is
172
+ sensitive to reference statistics and to the resizing path, so comparisons
173
+ against other work are only meaningful under the same protocol.
174
+
175
+ ## Training
176
+
177
+ Training proceeds in two stages. The end-to-end stage trains the VAE jointly
178
+ with a prior under the two-phase GenFirst schedule (global batch 256; 400k
179
+ steps at the high weight, then 200k at the low one). The prior-only stage then
180
+ freezes the VAE, caches its latents, and trains from scratch the prior that is
181
+ actually evaluated (4M steps at 256, 2M at 512). An optional 10k-step
182
+ decoder-only finetune between the stages improves unguided gFID by roughly 0.2.
183
+ Text-to-image follows the same structure, with an `MMDiT-L/2` prior shaping the
184
+ latent during the end-to-end stage and the released `MMDiT-XL/2` trained on the
185
+ frozen result.
186
+
187
+ Training data consists of publicly available datasets. Individual corpora are
188
+ not enumerated here; each is subject to its own licence and terms of use, which
189
+ govern independently of the licence on these weights.
190
+
191
+ ## Intended use
192
+
193
+ Intended for research: reproducing the paper, studying end-to-end VAE and prior
194
+ training, latent-space analysis, and use as a baseline or initialization for
195
+ further non-commercial research.
196
+
197
+ **Out of scope.** Any commercial use. Generating content about real,
198
+ identifiable people. Generating sexual, violent, hateful, or otherwise harmful
199
+ imagery. Any use presenting outputs as real photographs or as factual records.
200
+ Any safety-critical or decision-making pipeline. These models produce synthetic
201
+ images with no factual grounding and must not be treated as a source of truth.
202
+
203
+ No safety filter, watermarking, or content classifier is included. Anyone
204
+ deploying these weights in a setting where outputs reach other people is
205
+ responsible for adding those controls.
206
+
207
+ ## Limitations and biases
208
+
209
+ - The class-conditional models generate from a fixed 1000-class label set and
210
+ cannot follow text. Their outputs reflect the visual distribution and the
211
+ category taxonomy they were fit to, including the geographic and cultural
212
+ skew documented for that style of curated image collection.
213
+ - The text-to-image models inherit the biases of both their training data and
214
+ the frozen CLIP-L text encoder. Expect uneven representation across
215
+ demographics, professions, and cultures, and expect prompt-following to
216
+ degrade on long, compositional, or counting-heavy prompts. GenEval and
217
+ DPG-Bench scores measure prompt alignment on those benchmarks only and do not
218
+ certify safety or fairness.
219
+ - Text rendering, hands, and fine structure remain unreliable, as with
220
+ comparable models at this scale.
221
+ - Metrics reported here are distribution-level. A good FID says nothing about
222
+ the quality or appropriateness of any single sample.
223
+ - The 512 class-conditional models are reported with guidance only; their
224
+ unguided behaviour is untuned.
225
+ - A VAE paired with mismatched latent statistics fails silently in the sense
226
+ that it produces output rather than an error. Check the pairing.
227
+
228
+ ## Licence and third-party terms
229
+
230
+ **Weights: [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/) —
231
+ non-commercial research use only, with attribution.** This is stricter than the
232
+ MIT licence on the code and is the binding constraint on these artifacts.
233
+
234
+ The code in the GitHub repository is MIT, but the repository as a whole is not
235
+ usable commercially as it stands: the data preprocessing derives from
236
+ [NVIDIA EDM2](https://github.com/NVlabs/edm2) under CC BY-NC-SA 4.0, and
237
+ several vendored encoders and samplers trace back to Meta projects under
238
+ CC BY-NC 4.0. The repository's `NOTICE` lists this component by component.
239
+
240
+ These weights are also derivative of upstream models, each carrying its own
241
+ terms that continue to apply and that you should verify for your use:
242
+
243
+ | Component | Upstream |
244
+ |---|---|
245
+ | `f8d4` VAE initialization | [stabilityai/sd-vae-ft-ema](https://huggingface.co/stabilityai/sd-vae-ft-ema) |
246
+ | `f16d32` VAE initialization | VA-VAE, from [LightningDiT](https://github.com/hustvl/LightningDiT) |
247
+ | `f8d16` VAE initialization | FLUX.1 VAE, [black-forest-labs](https://huggingface.co/black-forest-labs) |
248
+ | Text encoder | [OpenAI CLIP](https://github.com/openai/CLIP) |
249
+ | Prior architecture lineage | [REPA](https://github.com/sihyun-yu/REPA), [REPA-E](https://github.com/End2End-Diffusion/REPA-E), and DiT/SiT before them |
250
+
251
+ Training datasets carry their own terms independently of this licence, and
252
+ those terms may further restrict what you may do with a model trained on them.
253
+
254
+ ## Security
255
+
256
+ A `.pt` checkpoint is a pickle: loading one executes arbitrary Python. These
257
+ checkpoints store an `args` namespace alongside the tensors, so they cannot be
258
+ loaded with `weights_only=True` and require `weights_only=False` on torch 2.6
259
+ and newer. Load checkpoints only from sources you trust, and verify you are
260
+ downloading from the official repository.
261
+
262
+ To report a security vulnerability, follow `SECURITY.md` in the code
263
+ repository: contact the ByteDance security team rather than opening a public
264
+ issue.
265
+
266
+ ## Citation
267
+
268
+ ```bibtex
269
+ @article{zheng2026genfirst,
270
+ title={GenFirst: Generation Before Reconstruction for Stable End-to-End Latent Generative Modeling},
271
+ author={Zheng, Guangting and Zhang, Yiyuan and Yang, Tao and Chen, Yunpeng and Zhu, Rui and Deng, Jiajun and Zhang, Yanyong},
272
+ journal={arXiv preprint arXiv:2608.29335},
273
+ year={2026}
274
+ }
275
+ ```
276
+
277
+ ## Contact
278
+
279
+ Questions through [GitHub Issues](https://github.com/ByteDance-Seed/GenFirst/issues) or
280
+ mail to [zgt@mail.ustc.edu.cn](mailto:zgt@mail.ustc.edu.cn). Security reports
281
+ go to the address in `SECURITY.md`, not to Issues.
class-conditional/imagenet256/eit-imagenet256-480ep.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8282239e746393f3e9e051083487f37bc6c0ccf9188ea9765352575cfc0c0ebf
3
+ size 10930616719
class-conditional/imagenet256/eit-imagenet256-800ep.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8158e2e9266cd89701ee68ce377cb19d3449a2d37e28926d5edf4567f0678738
3
+ size 10930616911
class-conditional/imagenet256/eit-imagenet256-80ep.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dbf1f5e761ba4dfa3d2db1b87be46676c48570a6c7ddaa280df6dee5568e6d24
3
+ size 10930613455
class-conditional/imagenet256/eit-imagenet256-weak-20ep.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f4eeed90ccc08248024f38e4db69a3abff5534e3d3085171b0a7eac035b4ef91
3
+ size 10930613455
class-conditional/imagenet512/eit-imagenet512-400ep.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7086879e8cab5e15abb5b8a662064bdf7536fd5efa25693899d78475e0eb1de9
3
+ size 10937694799
class-conditional/imagenet512/eit-imagenet512-80ep.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bcebf339cf9d348a2e8c36626d4b372d9599e43afecff4faf4e4df964c65ce77
3
+ size 10937691343
text-to-image/variant-a/eit-t2i-variant-a-512.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3bce2c93a5908faf3b1d2f56cdf03b6b6694be23aed4feffe6d8f1621e15a71c
3
+ size 21368378916
text-to-image/variant-b/eit-t2i-variant-b-512.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b39b8c63d35bde9d17e79e918e010c564ce5d08f3554f2f8fc311e84ceec8cf1
3
+ size 21368378916
vae/e2e-f16d32-nodecft/e2e-f16d32-nodecft-discriminator-ckpt.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c5e34db6865a2f3fdb49a8ef6f2e655c7410d0c163a4d3cc7843ed76c0b74dcf
3
+ size 11077612
vae/e2e-f16d32-nodecft/e2e-f16d32-nodecft-latents-stats.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0dfdac01bcc40948b7d0a811ff2f10be87b6a2ab5b6b3284f1a3cf0dfa8d6544
3
+ size 1954
vae/e2e-f16d32-nodecft/e2e-f16d32-nodecft.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4414ad26489985e950bd63b85e18c94fe974f7626aef33b11f5bc0e204743ebd
3
+ size 279466992
vae/e2e-f16d32/e2e-f16d32-discriminator-ckpt.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:443c9d4655a7360be24f3a2324314d0488d5864ce6ecbe5afcf178a037a3db33
3
+ size 11077768
vae/e2e-f16d32/e2e-f16d32-latents-stats.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c383ad155dff35e2d97d512ed0338814eb3b43417b1e4994d782655177a459a
3
+ size 1990
vae/e2e-f16d32/e2e-f16d32.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fce3025c7c675d0682f9713081853fc9ce8ea7174ce59547032795a9e9e67890
3
+ size 279469132
vae/e2e-f8d4/e2e-f8d4-discriminator-ckpt.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:43b8c066919fde0da8a7622db17e764e40f32094229c9efc8bb7f8ee899c765e
3
+ size 11077560
vae/e2e-f8d4/e2e-f8d4-latents-stats.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4aca6bd07302b529d3b74de9b123821cc4b08796aab8ce9fbb870515fd2023f8
3
+ size 1686
vae/e2e-f8d4/e2e-f8d4.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca3b576547a2d0abd32e75789d5ecf3e74bd42fee476dd7145ee75676027982c
3
+ size 334704166
vae/e2e-flux-vae-mmdit-l2-t2i-s2/e2e-flux-vae-mmdit-l2-t2i-s2-discriminator-ckpt.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3bf0ec6e133b29a71084b60a766ea7285ff4fab935f26b5250a02d3b4fa9c09
3
+ size 11077924
vae/e2e-flux-vae-mmdit-l2-t2i-s2/e2e-flux-vae-mmdit-l2-t2i-s2-latents-stats.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7aea1b648cf7e48beb3c7272058ffa828dd7695fd383aa983b49d9902ba9df00
3
+ size 1898
vae/e2e-flux-vae-mmdit-l2-t2i-s2/e2e-flux-vae-mmdit-l2-t2i-s2.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7cad9a42f3aaff413003d1b1779e102871ba9b5d37d3b28f63ae8083cd095756
3
+ size 335377826
vae/e2e-flux-vae-sit-imagenet-s2/e2e-flux-vae-sit-imagenet-s2-discriminator-ckpt.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0c7a814513967de83b594f0a998f4fae0b887d6fd0fe5abbf8585c4e8278a58b
3
+ size 11077924
vae/e2e-flux-vae-sit-imagenet-s2/e2e-flux-vae-sit-imagenet-s2-latents-stats.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:460326d43ba3c58ec4fe7a1815990a490b687663bc3e756466190a0bad8a3655
3
+ size 1898
vae/e2e-flux-vae-sit-imagenet-s2/e2e-flux-vae-sit-imagenet-s2.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b13483498773f5d4b50f604e1b4cbca6e1bb273b8a354dafe4546e1ecd564ddb
3
+ size 335377826
vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/config.json ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "AutoencoderKLFlux2",
3
+ "_diffusers_version": "0.36.0.dev0",
4
+ "act_fn": "silu",
5
+ "batch_norm_eps": 0.0001,
6
+ "batch_norm_momentum": 0.1,
7
+ "block_out_channels": [
8
+ 128,
9
+ 256,
10
+ 512,
11
+ 512
12
+ ],
13
+ "down_block_types": [
14
+ "DownEncoderBlock2D",
15
+ "DownEncoderBlock2D",
16
+ "DownEncoderBlock2D",
17
+ "DownEncoderBlock2D"
18
+ ],
19
+ "force_upcast": true,
20
+ "in_channels": 3,
21
+ "latent_channels": 32,
22
+ "layers_per_block": 2,
23
+ "mid_block_add_attention": true,
24
+ "norm_num_groups": 32,
25
+ "out_channels": 3,
26
+ "patch_size": [
27
+ 2,
28
+ 2
29
+ ],
30
+ "sample_size": 1024,
31
+ "scaling_factor": [
32
+ 0.887221,
33
+ 0.886926,
34
+ 0.887096,
35
+ 0.881914,
36
+ 0.886901,
37
+ 0.887307,
38
+ 0.886685,
39
+ 0.886833,
40
+ 0.88654,
41
+ 0.886646,
42
+ 0.887031,
43
+ 0.887073,
44
+ 0.887381,
45
+ 0.886768,
46
+ 0.887299,
47
+ 0.885674,
48
+ 0.886466,
49
+ 0.886795,
50
+ 0.886979,
51
+ 0.886519,
52
+ 0.886949,
53
+ 0.886949,
54
+ 0.887036,
55
+ 0.886828,
56
+ 0.887344,
57
+ 0.887004,
58
+ 0.886816,
59
+ 0.886799,
60
+ 0.887354,
61
+ 0.887523,
62
+ 0.887012,
63
+ 0.886643
64
+ ],
65
+ "shift_factor": [
66
+ -0.000623,
67
+ 0.000143,
68
+ 0.000282,
69
+ 0.001599,
70
+ -0.001093,
71
+ -0.000477,
72
+ 0.000855,
73
+ -0.00083,
74
+ -0.000883,
75
+ 0.001076,
76
+ -0.000417,
77
+ 0.0002,
78
+ 0.000626,
79
+ -0.000649,
80
+ -0.000137,
81
+ 0.001453,
82
+ -0.000816,
83
+ -0.000307,
84
+ -0.00029,
85
+ 0.000662,
86
+ 0.000484,
87
+ 0.000993,
88
+ 0.000574,
89
+ -0.000139,
90
+ -0.000914,
91
+ 0.000578,
92
+ -0.000691,
93
+ -0.000323,
94
+ 0.000619,
95
+ -0.000606,
96
+ -0.000372,
97
+ 0.000437
98
+ ],
99
+ "up_block_types": [
100
+ "UpDecoderBlock2D",
101
+ "UpDecoderBlock2D",
102
+ "UpDecoderBlock2D",
103
+ "UpDecoderBlock2D"
104
+ ],
105
+ "use_post_quant_conv": true,
106
+ "use_quant_conv": true
107
+ }
vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/diffusion_pytorch_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1c7984e4666d9a67f1b1e8a3b8ad7bd55d7349ae06275b1d8c7befb299dd0905
3
+ size 336213524
vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k-discriminator-ckpt.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f313d6c9b2015d9d41121088e96d3de73032296669b04d56bd6be513679b76f5
3
+ size 11078312
vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k-latents-stats.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4eddef2d704296f7db1ffda94e41dbf65a5c84934dac16e4a46880b34c5933df
3
+ size 2086
vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k-stage2-bn-latents-stats.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9f9756e19a68ea7613119733891e4d5cadecd91aa4dcf4c9141be49157db03cb
3
+ size 2086
vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:41718728433592d1c4a9271e5870b3540f7d7ccc60e39b20f2ba7dbc9edc6be2
3
+ size 336289088
vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1c7984e4666d9a67f1b1e8a3b8ad7bd55d7349ae06275b1d8c7befb299dd0905
3
+ size 336213524
vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/vae_params.json ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k",
3
+ "vae_arch": "flux2",
4
+ "latent_channels": 32,
5
+ "downsample_factor": 8,
6
+ "weights_safetensors": "e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.safetensors",
7
+ "weights_pt": "e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.pt",
8
+ "latents_stats_pt": "e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k-latents-stats.pt",
9
+ "scaling_factor": [
10
+ 0.887221,
11
+ 0.886926,
12
+ 0.887096,
13
+ 0.881914,
14
+ 0.886901,
15
+ 0.887307,
16
+ 0.886685,
17
+ 0.886833,
18
+ 0.88654,
19
+ 0.886646,
20
+ 0.887031,
21
+ 0.887073,
22
+ 0.887381,
23
+ 0.886768,
24
+ 0.887299,
25
+ 0.885674,
26
+ 0.886466,
27
+ 0.886795,
28
+ 0.886979,
29
+ 0.886519,
30
+ 0.886949,
31
+ 0.886949,
32
+ 0.887036,
33
+ 0.886828,
34
+ 0.887344,
35
+ 0.887004,
36
+ 0.886816,
37
+ 0.886799,
38
+ 0.887354,
39
+ 0.887523,
40
+ 0.887012,
41
+ 0.886643
42
+ ],
43
+ "shift_factor": [
44
+ -0.000623,
45
+ 0.000143,
46
+ 0.000282,
47
+ 0.001599,
48
+ -0.001093,
49
+ -0.000477,
50
+ 0.000855,
51
+ -0.00083,
52
+ -0.000883,
53
+ 0.001076,
54
+ -0.000417,
55
+ 0.0002,
56
+ 0.000626,
57
+ -0.000649,
58
+ -0.000137,
59
+ 0.001453,
60
+ -0.000816,
61
+ -0.000307,
62
+ -0.00029,
63
+ 0.000662,
64
+ 0.000484,
65
+ 0.000993,
66
+ 0.000574,
67
+ -0.000139,
68
+ -0.000914,
69
+ 0.000578,
70
+ -0.000691,
71
+ -0.000323,
72
+ 0.000619,
73
+ -0.000606,
74
+ -0.000372,
75
+ 0.000437
76
+ ],
77
+ "cli_args": [
78
+ "--vae_pth=vae/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k/e2e-vae-flux2-sitxl2-auxkl2p5e8-s3-20k.safetensors",
79
+ "--model.vae.scaling_factor=[0.887221,0.886926,0.887096,0.881914,0.886901,0.887307,0.886685,0.886833,0.886540,0.886646,0.887031,0.887073,0.887381,0.886768,0.887299,0.885674,0.886466,0.886795,0.886979,0.886519,0.886949,0.886949,0.887036,0.886828,0.887344,0.887004,0.886816,0.886799,0.887354,0.887523,0.887012,0.886643]",
80
+ "--model.vae.shift_factor=[-0.000623,0.000143,0.000282,0.001599,-0.001093,-0.000477,0.000855,-0.000830,-0.000883,0.001076,-0.000417,0.000200,0.000626,-0.000649,-0.000137,0.001453,-0.000816,-0.000307,-0.000290,0.000662,0.000484,0.000993,0.000574,-0.000139,-0.000914,0.000578,-0.000691,-0.000323,0.000619,-0.000606,-0.000372,0.000437]"
81
+ ]
82
+ }