CODA: Repurposing Continuous VAEs for Discrete Tokenization

Zeyu Liu, Zanlin Ni, Yeguo Hua, Xin Deng, Xiao Ma +2 more
3/22/2025
cs.CVcs.AI

No official code found. Best implementation: LeapLabTHU/CODA (37 stars, Apache-2.0, last commit 2025-07-04).

Abstract

Discrete visual tokenizers transform images into a sequence of tokens, enabling token-based visual generation akin to language models. However, this process is inherently challenging, as it requires both compressing visual signals into a compact representation and discretizing them into a fixed set of codes. Traditional discrete tokenizers typically learn the two tasks jointly, often leading to unstable training, low codebook utilization, and limited reconstruction quality. In this paper, we introduce \textbf{CODA}(\textbf{CO}ntinuous-to-\textbf{D}iscrete \textbf{A}daptation), a framework that decouples compression and discretization. Instead of training discrete tokenizers from scratch, CODA adapts off-the-shelf continuous VAEs -- already optimized for perceptual compression -- into discrete tokenizers via a carefully designed discretization process. By primarily focusing on discretization, CODA ensures stable and efficient training while retaining the strong visual fidelity of continuous VAEs. Empirically, with $\mathbf{6 \times}$ less training budget than standard VQGAN, our approach achieves a remarkable codebook utilization of 100% and notable reconstruction FID (rFID) of $\mathbf{0.43}$ and $\mathbf{1.34}$ for $8 \times$ and $16 \times$ compression on ImageNet 256$\times$ 256 benchmark.

View on arXivView PDF

Code Implementations(1)

LeapLabTHU/CODACommunity63%
Apache-2.0

CODA: Repurposing Continuous VAEs for Discrete Tokenization

373Shell, PythonMar 22, 20251 years agoApache-2.0

Similar Papers

Cite this paper

@article{liu2025coda,
  title  = {CODA: Repurposing Continuous VAEs for Discrete Tokenization},
  author = {Zeyu Liu and Zanlin Ni and Yeguo Hua and Xin Deng and Xiao Ma and Cheng Zhong and Gao Huang},
  year   = {2025},
  eprint = {2503.17760},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2503.17760v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2503.17760.svg)](https://codeofpaper.com/paper/2503.17760)

Discussion