BitDance d32c128 binary image tokenizer

Standalone native encoder, sign quantizer and GAN decoder from the official BitDance tokenizer release. The safetensors file is byte-for-byte identical to ae_d32c128.safetensors; its original SHA-256 and pinned source revision are recorded in extraction.json. No generation backbone is included.

This is the published BitDance codec. It is not asserted to be the semantic-distilled UniWeTok checkpoint merely because both describe 128-bit representations.

Load and reconstruct

from huggingface_hub import snapshot_download
import sys, torch
folder = snapshot_download("gatilin/bitdance_binary_tokenizer_d32c128")
sys.path.insert(0, folder)
from component import load_model
codec = load_model(folder)
# RGB pixels: NCHW, [-1, 1], spatial dimensions divisible by 32.
pixels = torch.linspace(-1, 1, 3*256*256).reshape(1,3,256,256)
with torch.inference_mode():
    signs = codec.encode(pixels)  # [1,128,8,8], each value -1 or +1
    reconstructed = codec.decode(signs)

Install requirements.txt and run python validate.py in the downloaded directory. component.py also provides explicitly documented byte-packing helpers for storing 128 sign bits. Their byte convention is a portable bundle helper, not an inferred mapping to upstream AR vocabulary IDs.

Validation

Strict native state-dict loading, official-file SHA-256 equality, 256px encode/decode, binary alphabet, exact bit roundtrip, fixed-seed bit-decoding parity, native stochastic decoding, and rectangular 256x320 encode/decode passed on CPU in float32. Exact results and measured fixture MSE are in validation.json. These are component correctness tests on deterministic synthetic inputs, not claims about perceptual quality or text-to-image benchmark scores.

The GAN decoder injects fresh Gaussian noise even in eval mode. Set the same torch RNG seed before decoding if you need reproducible output; this native behavior is preserved.

The 2^128 space is represented implicitly by 128 binary channels, not a materialized embedding table. The published model uses the original convolutional implementation in autoencoder.py, not the separate attention-augmented autoencoder_uni.py. The only native-file edit changes an absolute filesystem-helper import into a package-relative import; source and code revisions are in the provenance files.

Source and license

Apache-2.0; original notices are retained. Extraction, tests, loader and documentation added for this standalone distribution.

Downloads last month
17
Safetensors
Model size
0.4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for gatilin/bitdance_binary_tokenizer_d32c128

Finetuned
(2)
this model

Paper for gatilin/bitdance_binary_tokenizer_d32c128