Dupe-R-IMG

The Supra2-IMG denoiser, the flan-t5-base encoder and the sd-vae-ft-mse VAE packed into one model.safetensors

section params source license
dit.* 104,193,168 SupraLabs/Supra2-IMG apache-2.0
text_encoder.* 109,628,544 google/flan-t5-base apache-2.0
vae.* 83,653,863 stabilityai/sd-vae-ft-mse mit
total 297,475,575

What this is

A repackaging, not a weight blend. The DiT was trained against exactly these two encoders, so averaging anything would break it. Every tensor is copied unmodified and re-namespaced:

  • dit.* โ€” SupraDiT denoiser, 14 blocks, d_model 576, patch 2
  • text_encoder.* โ€” T5 encoder stack, shared.weight token embedding included
  • vae.* โ€” full AutoencoderKL

Not bundled: the T5 decoder.* stack (113M) and lm_head.weight (24.7M). Text-to-image never runs the seq2seq half.

Files

file size what
model.safetensors ~567 MB all 297,475,575 params, prefixed dit. / text_encoder. / vae.
supra2img.himg supra2img converted to .himg ~417 MB mmap PROT_READ, zero-copy load
model_final_ema.pt ~416 MB untouched upstream checkpoint (bf16)
config.json geometry, per-section param counts, component provenance
vae_config.json native AutoencoderKL config (separate name on purpose)
tokenizer.json, spiece.model, โ€ฆ flan-t5 tokenizer

Prefer .himg when memory is tight: so a 417 MB model costs no resident RAM. model.safetensors is the portable single-file form.

Precision

Stored float16, compute float32 (upcast on load). Storage-only: a build comparing the C core against a PyTorch reference from this same file still agrees at 1e-6, since both read identical bytes. Only parity against the original upstream checkpoint moves (~1e-3), which is not visible in a pixel. The .himg is exact float32 if you need bit parity.

Specs

resolution 256x256
latent 4 x 32 x 32
context 128 tokens (flan-t5-base)
sampler rectified flow, Euler (Heun supported)
default steps / cfg 50 / 3.0
latent scale 0.18215

Usage

import json
from huggingface_hub import hf_hub_download
from safetensors import safe_open
from diffusers import AutoencoderKL

repo = "ShimbaLLM/Dupe-R-IMG"
dit_sd, te_sd, vae_sd = {}, {}, {}
with safe_open(hf_hub_download(repo, "model.safetensors"), framework="pt") as f:
    for k in f.keys():
        (dit_sd if k.startswith("dit.") else
         te_sd if k.startswith("text_encoder.") else
         vae_sd)[k.split('.', 1)[1]] = f.get_tensor(k).float()

vae = AutoencoderKL.from_config(
    json.load(open(hf_hub_download(repo, "vae_config.json"))))
vae.load_state_dict(vae_sd)

The T5 encoder stack and the SupraDiT module definitions are in config.json under components, and in the notebook that produced this release.

Licenses

Bundled components keep their own licenses and carry independent provenance in config.json: DiT apache-2.0 (SupraLabs), T5 encoder apache-2.0 (Google), VAE mit (Stability AI). All three permit redistribution, individually and combined.

Downloads last month
17
Safetensors
Model size
0.3B params
Tensor type
F16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support