ONNX export of SurjoLabs/Surjo-Image-Preview for the browser (onnxruntime-web, WebGPU), together with its text encoder LiquidAI/LFM2.5-Encoder-230M and VAE decoder SurjoLabs/FLUX.2-small-decoder-vae.
| file | what |
|---|---|
onnx/text_encoder_*.onnx |
input_ids, attention_mask (1,128) int64 -> hidden (1,128,1024). Pad to 128 on the right with `< |
onnx/dit_step_*.onnx |
one classifier-free-guided Euler step: z (N,128,16,16), t, dt, cfg (1,), ctx (2,128,1024) = [empty prompt, prompt], mask (2,128) -> z_next |
onnx/vae_decoder_*.onnx |
z (N,128,16,16) -> image (N,3,256,256) in [0,1]; BatchNorm de-normalisation and 2x2 unpatchify are inside |
_fp16w means weights are stored in fp16 and computed in fp32 (image PSNR about 60 dB against PyTorch fp32). An int4 text encoder was tried and dropped: it changed the pictures too much.
Sampling: start from standard normal noise, t = i/steps, dt = 1/steps, 50 steps, cfg 3.0.
onnx/parity.json has the image PSNR against the PyTorch fp32 pipeline.
Model tree for mrfakename/Surjo-Image-Preview-ONNX
Base model
SurjoLabs/Surjo-Image-Preview