SphereLatent: Efficient Image Synthesis with Sphere Latent Encoder

Weights for Efficient Image Synthesis with Sphere Latent Encoder (arXiv:2605.15592), by Tung Do, Thuan Hoang Nguyen and Hao Li.

A frozen representation autoencoder (RAE: DINOv2-B encoder with registers + ViT-XL decoder) maps 256x256 images to 16x16x768 latents. A SiT-XL/1 denoiser trained on spherified, noised latents generates ImageNet-1K 256x256 images in a few steps, entirely in latent space. The decoder runs once, at the end. The paper's two small-dataset models, SiT-B/1 for Animal-Faces and Oxford-Flowers (Table 1), are here too (below).

Model Steps NFE FID (paper, Table 2) FID (code release, measured)
SiT-XL/1 on RAE (DINOv2-B) latents, 675M 4 4x2 2.25 not measured
SiT-XL/1 on RAE (DINOv2-B) latents, 675M 6 6x2 2.11 2.096

The measured column was sampled and scored with the code release on one AMD MI210 (50,000 class-balanced samples, one GPU x 512, seed 0, raw final step, tensorflow-rocm ADM evaluator): sFID 7.47, IS 293.2. Section 8 of the code repository's docs/DETAILS.md lists the settings and FDr6.

Files

The layout matches the code repository, so downloading into the repo root puts every file where its configs expect it.

File What it is Source / license
checkpoints/sphere_latent_sit_xl1_imagenet256.pt SiT-XL/1 denoiser, EMA weights, fp32 state dict (401 tensors, 675,160,896 params) this work
checkpoints/sphere_latent_sit_b1_afhq256.pt SiT-B/1 denoiser for Animal-Faces (AFHQ, 3 classes), EMA weights (177 tensors, 130,086,144 params) this work
checkpoints/sphere_latent_sit_b1_flowers256.pt SiT-B/1 denoiser for Oxford-Flowers (102 classes), EMA weights (177 tensors, 130,162,176 params) this work
models/dinov2-with-registers-base/ frozen DINOv2-B encoder with registers facebook/dinov2-with-registers-base @ a1d738cc, Apache-2.0
models/decoders/dinov2/wReg_base/ViTXL_n08/model.pt frozen RAE ViT-XL decoder nyu-visionx/RAE-collections @ 1be4f032, MIT
models/stats/dinov2/wReg_base/imagenet1k/stat.pt RAE latent normalization statistics nyu-visionx/RAE-collections @ 1be4f032, MIT

The encoder, decoder and statistics are unmodified, byte-identical copies of the upstream files that were used to train and evaluate the model. They are redistributed under their original licenses.

SHA-256:

9e57d4609c322b3503f8487aaf1c2061b92e5db6969cc499a0483e7f8a20280a  checkpoints/sphere_latent_sit_xl1_imagenet256.pt
b8c7de52157f749785fe3df3b65ea4fab7a160dfd48ed9914fc26e3246ce43da  checkpoints/sphere_latent_sit_b1_afhq256.pt
5240c75d97b348a518e488edf81015a4f6476a3e8bce6cbb30aa280786f54f84  checkpoints/sphere_latent_sit_b1_flowers256.pt
7a6f7b3b9fa4b8732e707476a03cd6cdce210048582f21aafb7991c17d98e362  models/dinov2-with-registers-base/model.safetensors
5fedf7c9660476a709e122cef18385c917532914a23f034388e1c1a52bde2be6  models/decoders/dinov2/wReg_base/ViTXL_n08/model.pt
84ede66def5e6e3f25679334dc89cf63b12aacb99cbf0f5ae7ed4ad3187f7e59  models/stats/dinov2/wReg_base/imagenet1k/stat.pt

Animal-Faces and Oxford-Flowers models

The paper's two small-dataset models (Table 1). Both use the same frozen RAE as the ImageNet model (DINOv2-B encoder, ViT-XL decoder, ImageNet latent statistics) and a SiT-B/1 denoiser: depth 12, width 768, 12 heads, patch size 1, no timestep input. Each was trained from scratch for 2,000 epochs on one node of 8 MI210 GPUs, global batch 256, AdamW lr 1e-4 (10-epoch warmup), EMA 0.9995. The released weights are the EMA at the epoch listed.

File Dataset Classes Epoch Sampling (paper setting) FID 2 / 4 / 6 steps (paper, Table 1) FID 2 / 4 / 6 steps (measured)
checkpoints/sphere_latent_sit_b1_afhq256.pt Animal-Faces (AFHQ v1) 3 400 CFG 1.0 (none), sigma 24, gamma 0.75 10.63 / 6.89 / 6.18 10.74 / 6.91 / 6.18
checkpoints/sphere_latent_sit_b1_flowers256.pt Oxford-Flowers 102 102 2,000 CFG 4.8, sigma 24, gamma 0.75 12.22 / 8.61 / 7.85 12.19 / 8.55 / 7.81
  • Configs. The code repository holds the model configs configs/afhq_sit_b1.yaml and configs/flowers_sit_b1.yaml (frozen RAE + SiT-B/1 and the training recipe) and the inference configs configs/sample_afhq.yaml and configs/sample_flowers.yaml (the paper sampling settings, 6 steps).
  • Samples. FID uses 50,001 class-balanced samples for AFHQ and 49,980 for Flowers, so that the count divides by the number of classes.
  • FID references. The reference set is the full dataset at 256x256 with the ADM center crop: AFHQ v1 train+val (16,130 images) and all 8,189 Flowers images. The images are not redistributed here. data/eval/afhq256_ref_stats.npz and data/eval/flowers256_ref_stats.npz hold only their Inception statistics (mu, sigma, mu_s, sigma_s). These give IS, FID and sFID, but not Precision/Recall.
  • Measured. The released Flowers weights at the settings above: one GPU x 128, seed 0, compile, raw final step, scored with the tensorflow-rocm ADM evaluator against the full 8,189-image reference (sFID 27.10 / 24.61 / 23.81, IS 3.80 / 3.80 / 3.89). The AFHQ weights have not been re-measured yet.
bash scripts/download_models.sh afhq flowers encoder decoder stats   # weights + FID references + frozen RAE
bash scripts/sample_imagenet.sh configs/sample_flowers.yaml 0        # 49,980 samples, 6 steps, GPU 0
bash scripts/eval_fid.sh samples/flowers256_sit_b1_6steps.npz data/eval/flowers256_ref_stats.npz   # spherelatent-eval env

Evaluation statistics

Reference statistics to evaluate 256x256 samples, under data/eval/ (where the code's evaluation scripts look for them):

File Used for Source / license
data/eval/VIRTUAL_imagenet256_labeled.npz (2.0 GB) ImageNet: FID, sFID, IS, Precision/Recall with the ADM evaluator (scripts/eval_fid.sh) openai/guided-diffusion reference batch, MIT
data/eval/afhq256_ref_stats.npz AFHQ: FID, sFID, IS with the ADM evaluator (scripts/eval_fid.sh); Inception statistics only, no images this work: AFHQ v1 train+val, 16,130 images
data/eval/flowers256_ref_stats.npz Oxford-Flowers: FID, sFID, IS with the ADM evaluator (scripts/eval_fid.sh); Inception statistics only, no images this work: all 8,189 Oxford-Flowers images
data/eval/fd_stats/guided_diffusion_stats.npz, jit_in256_stats.npz Inception FD (FID(ADM), FID(JiT)) in FDr6 jjiaweiyang/FD-Loss paper_ref_stats.pkl, MIT
data/eval/fd_stats/convnext_in256_t224_stats.npz ConvNeXtV2-B FD FD-Loss, MIT
data/eval/fd_stats/vit_large_patch14_dinov2_lvd142m_in256_t256_stats.npz DINOv2-L FD FD-Loss, MIT
data/eval/fd_stats/vit_large_patch16_224_mae_in256_t224_stats.npz MAE-L FD FD-Loss, MIT
data/eval/fd_stats/vit_large_patch14_clip_224_openai_in256_t256_stats.npz CLIP-L FD FD-Loss, MIT
data/eval/fd_stats/vit_so400m_patch16_siglip_256_v2_webli_in256_t224_stats.npz SigLIP FD (FD-Loss paper stats) FD-Loss, MIT
data/eval/fd_stats/vit_so400m_patch16_siglip_256_v2_webli_in256_t224_VAL50k_stats.npz SigLIP FD, alternative (see below) this work: the 50k ImageNet validation images

The FD files are the reference statistics of the FD-Loss evaluator (Jiawei-Yang/FD-loss, eval_all_fds.py). FDr divides each raw FD by a fixed validation-set FD (Inception 1.68, ConvNeXt 56.87, DINOv2 14.19, MAE 0.04, SigLIP 0.60, CLIP 5.60), and FDr6 is the mean over the six spaces. The code repository vendors that evaluator: bash scripts/eval_fdr6.sh <samples.npz> reads these files from data/eval/fd_stats/ and reports FDr6, FDr6 with the VAL50k file, and the five-space mean FDr5. With upstream FD-Loss, put the files in its data/fid_stats/ (the VAL50k file under the name of the paper SigLIP file, if you want that variant).

SigLIP caveat. With timm 1.0.15-1.0.26, our SigLIP features do not reproduce FD-Loss's SigLIP statistics: real ImageNet validation images score an FD of about 352 against them, where FD-Loss reports 0.60. The VAL50k file is our own SigLIP statistics of the 50k validation images (the same model, 224 px and bf16 as FD-Loss). Against it, the SigLIP term ranks models differently from the other five spaces, so treat SigLIP-based numbers with care. An FDr6 that uses the VAL50k file is not comparable to the FD-Loss paper. The mean FDr over the other five spaces is.

SHA-256:

b32732719497e42660a9affb4a966068cba0855ac449b82015e34ec376d20758  data/eval/VIRTUAL_imagenet256_labeled.npz
ba6373dd55d3672aa1691efc2b8d12e2a34bed9e68dea11337b6f3f1169569f0  data/eval/afhq256_ref_stats.npz
6a111ffa692878bbf74947783f15c5dc8c0af108d823195d055afa997312164a  data/eval/flowers256_ref_stats.npz
f70a7b30c86269ad6b43cd4ea147f2e293e4f4c96a8f881114f82392ff2921bb  data/eval/fd_stats/guided_diffusion_stats.npz
925e8b5b4ced42137f9847f97a63250a2bd59b70f33f3f356e03453d0775f1ac  data/eval/fd_stats/jit_in256_stats.npz
5b9be5c8425c785e2a4650496ab7a03d2795be0eb530f7d9afa6f9ab785ab386  data/eval/fd_stats/convnext_in256_t224_stats.npz
fca8c89fe1c82fae9717c1a6a5b0860b9cf8ac5d3ae5a9bd9513c4685a3291f3  data/eval/fd_stats/vit_large_patch14_dinov2_lvd142m_in256_t256_stats.npz
f9f2c09cf9fc2f13cbd31d6fa56dec41c8e98baa8d6f79171c9bec020fdb9f9a  data/eval/fd_stats/vit_large_patch16_224_mae_in256_t224_stats.npz
e13f614d184492a1232382b6e819a81cbd25a1cb5ddd303716a552e2f64a2df0  data/eval/fd_stats/vit_large_patch14_clip_224_openai_in256_t256_stats.npz
a0d16403d3901e6575a25ca877d2fe9e98b69e4fb690fd2e82360eb2c1965584  data/eval/fd_stats/vit_so400m_patch16_siglip_256_v2_webli_in256_t224_stats.npz
61302294b4ecb8caad39beb4cf06e94d2cbfbfecaa087a86a8104811bb8c2228  data/eval/fd_stats/vit_so400m_patch16_siglip_256_v2_webli_in256_t224_VAL50k_stats.npz

Baseline samples

For side-by-side evaluation, samples/ holds 50,000 ImageNet 256x256 class-conditional samples per baseline (arr_0, uint8 50000 x 256 x 256 x 3, the format the ADM and FDr6 evaluators read). They are not part of the SphereLatent model. The MeanFlow and alpha-Flow batches were generated with the alpha-Flow codebase at 1 NFE; the GAE batch with the GAE codebase (LightningDiT-XL/1, 800 epochs, Euler 250 steps, CFG 3.3 with guidance interval 0.30, shift 0.40).

File Model SHA-256
samples/meanflow_xl2_1nfe.npz (9.8 GB) MeanFlow-XL/2, 1 NFE 82bb9b490015ee3fb3f627cc02d6f7f0fad1f9eaed2aca4977bef793cf571218
samples/alphaflow_xl2plus_1nfe.npz (9.8 GB) alpha-Flow-XL/2+, 1 NFE b2db6787b3e6a6c9e1960a96b58b2655858ec5b4596427ec9e12e9a9ffb95466
samples/gae_lightningdit_xl1_800ep_euler250_interval0.30_cfg3.30_shift0.40.npz (9.8 GB) GAE + LightningDiT-XL/1, 250 steps 40ec8f039e8a9ae545a51b492d794a3f763408bd491881d6fae35e871c59ec23
hf download itsthanhtung/SphereLatent --include 'samples/*' --local-dir .
bash scripts/eval_fid.sh samples/meanflow_xl2_1nfe.npz           # FID / sFID / IS (spherelatent-eval env)
bash scripts/eval_fdr6.sh samples/meanflow_xl2_1nfe.npz          # FDr6 (spherelatent env)

Usage

From the root of the SphereLatent code repository, with its spherelatent environment:

bash scripts/download_models.sh                 # the ImageNet files above, checked against their SHA-256
bash scripts/download_models.sh afhq flowers    # opt-in: the AFHQ / Flowers weights and FID references
bash scripts/sample_imagenet.sh                 # configs/sample_imagenet_6steps.yaml on GPU 0: 50k samples, 6 steps
bash scripts/sample_imagenet.sh configs/sample_imagenet_4steps.yaml 0,1,2,3   # 4 steps on 4 GPUs
bash scripts/eval_fid.sh samples/imagenet256_sit_xl1_6steps.npz              # in the spherelatent-eval env

or download the files directly (only the asset folders, so the code's README is not overwritten; no SHA-256 check):

hf download itsthanhtung/SphereLatent --include 'checkpoints/*' 'models/*' 'data/*' --local-dir .

ImageNet paper sampling settings: CFG 3.2, sigma_max 24, decay power gamma 0.5, 4 or 6 steps, 50,000 class-balanced samples (50 per class), global seed 0. They are stored in the inference configs configs/sample_imagenet_6steps.yaml and configs/sample_imagenet_4steps.yaml of the code repository; any src/sample.py flag given after the config and GPU list overrides them.

Notes

  • The ImageNet denoiser checkpoint is the EMA at epoch 350 of the final phase of a three-phase warm-started training run on ImageNet-1K (about 850 epochs in total, 64 AMD MI210 GPUs, global batch 512).
  • The ImageNet model was trained on ImageNet-1K; use of its weights is also subject to the ImageNet terms of access. The AFHQ and Oxford-Flowers models were trained on those datasets, whose own terms apply.

Citation

@article{do2026spherelatent,
  title   = {Efficient Image Synthesis with Sphere Latent Encoder},
  author  = {Do, Tung and Nguyen, Thuan Hoang and Li, Hao},
  journal = {arXiv preprint arXiv:2605.15592},
  year    = {2026}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train itsthanhtung/SphereLatent

Paper for itsthanhtung/SphereLatent