Commit ·
9dc6128
0
Parent(s):
Duplicate from CGTuebingen/InterpTok-Models
Browse filesCo-authored-by: Ole Beißwenger <Obeisswenger@users.noreply.huggingface.co>
- .gitattributes +35 -0
- README.md +58 -0
- SHA256SUMS.txt +9 -0
- interptok_41k.safetensors +3 -0
- interptok_82k.safetensors +3 -0
- interptok_decoder_41k.safetensors +3 -0
- sit-b_interptok-41k/args.json +45 -0
- sit-b_interptok-41k/checkpoints/0400000.pt +3 -0
- sit-b_interptok-41k/interptok_41k.yaml +3 -0
- sit-b_maetok/args.json +45 -0
- sit-b_maetok/checkpoints/0400000.pt +3 -0
- sit-b_maetok/maetok.yaml +1 -0
.gitattributes
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
tags:
|
| 4 |
+
- image-tokenizer
|
| 5 |
+
- autoencoder
|
| 6 |
+
- latent-diffusion
|
| 7 |
+
- imagenet
|
| 8 |
+
datasets:
|
| 9 |
+
- ILSVRC/imagenet-1k
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
# InterpTok
|
| 13 |
+
|
| 14 |
+
Weights of **Image Tokenizers Should Be Trained Between Images**, by Ole Beißwenger, Jan-Niklas Dihlmann and Hendrik Lensch, University of Tübingen.
|
| 15 |
+
|
| 16 |
+
[📄 Paper](https://arxiv.org/abs/2610.16759) | [💻 Code](https://github.com/cgtuebingen/InterpTok) | [🌐 Project Page](https://graphics.cs.uni-tuebingen.de/papers/interptok/)
|
| 17 |
+
|
| 18 |
+
InterpTok fine-tunes the image tokenizer [MAETok](https://huggingface.co/MAETok/maetok-b-128) to decode mixtures of the codes of two images into natural images.
|
| 19 |
+
On ImageNet at 256 × 256, it keeps MAETok's reconstruction quality and lowers its interpolation FID from 14.42 to 4.30.
|
| 20 |
+
A SiT-B trained on its codes improves its generation FID without guidance from 11.61 to 8.48.
|
| 21 |
+
|
| 22 |
+
| File | Model |
|
| 23 |
+
|---|---|
|
| 24 |
+
| `interptok_41k.safetensors` | InterpTok, the model of the paper, 41,000 steps |
|
| 25 |
+
| `interptok_82k.safetensors` | InterpTok trained further, to 82,000 steps |
|
| 26 |
+
| `interptok_decoder_41k.safetensors` | InterpTok's decoder on MAETok's frozen encoder, which decodes MAETok's codes and the samples of generators trained on them |
|
| 27 |
+
| `sit-b_interptok-41k/` | SiT-B trained for 400,000 steps on the codes of `interptok_41k` |
|
| 28 |
+
| `sit-b_maetok/` | SiT-B trained for 400,000 steps on MAETok's codes, the baseline of the paper |
|
| 29 |
+
|
| 30 |
+
Each tokenizer holds 217M parameters in float32, MAETok-B-128's encoder and a decoder of 18 blocks, and encodes a 256 × 256 image into a code of 128 tokens with 32 values each.
|
| 31 |
+
Each SiT-B folder is an experiment of the code of [Xu et al.](https://github.com/tongdaxu/Making-rFID-Predictive-of-Diffusion-gFID): `args.json`, the moving average of the weights in `checkpoints/0400000.pt`, and the configuration of its tokenizer.
|
| 32 |
+
`SHA256SUMS.txt` lists the checksum of every file.
|
| 33 |
+
|
| 34 |
+
## Usage
|
| 35 |
+
|
| 36 |
+
```bash
|
| 37 |
+
git clone --recursive https://github.com/cgtuebingen/InterpTok
|
| 38 |
+
hf download CGTuebingen/InterpTok-Models --local-dir InterpTok/weights
|
| 39 |
+
cd InterpTok
|
| 40 |
+
python src/interpolate.py a.jpg b.jpg --weights weights/interptok_41k.safetensors --out a_to_b.png
|
| 41 |
+
```
|
| 42 |
+
|
| 43 |
+
The [code repository](https://github.com/cgtuebingen/InterpTok) explains installation, training and evaluation.
|
| 44 |
+
|
| 45 |
+
## Citation
|
| 46 |
+
|
| 47 |
+
```bibtex
|
| 48 |
+
@article{beisswenger2026interptok,
|
| 49 |
+
title = {Image Tokenizers Should Be Trained Between Images},
|
| 50 |
+
author = {Bei{\ss}wenger, Ole and Dihlmann, Jan-Niklas and Lensch, Hendrik},
|
| 51 |
+
journal = {arXiv preprint arXiv:2610.16759},
|
| 52 |
+
year = {2026}
|
| 53 |
+
}
|
| 54 |
+
```
|
| 55 |
+
|
| 56 |
+
## License
|
| 57 |
+
|
| 58 |
+
Apache License 2.0.
|
SHA256SUMS.txt
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
f5d8f2e28514c3b40eb459aec1e8ce258c78896ca27f0a29ca5e13e2d65382e9 *interptok_41k.safetensors
|
| 2 |
+
c7c328edf7ba9fe78817b3e6fe385c3453d0821de4987072e5568ff4c620c2ad *interptok_82k.safetensors
|
| 3 |
+
b6c9cf981823dab73bdc207ef3d1404da6caee04ae5e3dc6efd1c95ab089a4ee *interptok_decoder_41k.safetensors
|
| 4 |
+
23d486a56b2d93edc2d9484f9045433afa67d03be216ecde91d8a09c1647d368 *sit-b_interptok-41k/args.json
|
| 5 |
+
d5426a307d26324dd281369190f6e3df2153b9d1c6e849d4db3fb8c413df52fa *sit-b_interptok-41k/checkpoints/0400000.pt
|
| 6 |
+
0e3d4cc3ea59a3f13ec43fbe192ac019ba802c70bddf7747f603d2f501e66900 *sit-b_interptok-41k/interptok_41k.yaml
|
| 7 |
+
9c36a8917d781357f73734587ec0edad228f1e52d1e021ef0d4eb303a3d77369 *sit-b_maetok/args.json
|
| 8 |
+
6840a53617484036458ddb5ac3306bba92cd0a51ad13231fa08c0aba63fc1ddd *sit-b_maetok/checkpoints/0400000.pt
|
| 9 |
+
d0b9830d165a7ea0c17cbfd7d5a94c6704b2f5cb8a4ae7185d2819d8ab0c1666 *sit-b_maetok/maetok.yaml
|
interptok_41k.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f5d8f2e28514c3b40eb459aec1e8ce258c78896ca27f0a29ca5e13e2d65382e9
|
| 3 |
+
size 868094680
|
interptok_82k.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c7c328edf7ba9fe78817b3e6fe385c3453d0821de4987072e5568ff4c620c2ad
|
| 3 |
+
size 868094680
|
interptok_decoder_41k.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b6c9cf981823dab73bdc207ef3d1404da6caee04ae5e3dc6efd1c95ab089a4ee
|
| 3 |
+
size 868094680
|
sit-b_interptok-41k/args.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"output_dir": "exps",
|
| 3 |
+
"exp_name": "sit-b_interptok-41k",
|
| 4 |
+
"logging_dir": "logs",
|
| 5 |
+
"report_to": null,
|
| 6 |
+
"sampling_steps": 10000,
|
| 7 |
+
"resume_step": 0,
|
| 8 |
+
"continue_train_exp_dir": null,
|
| 9 |
+
"wandb_history_path": null,
|
| 10 |
+
"model": "SiT-B/1D",
|
| 11 |
+
"num_classes": 1000,
|
| 12 |
+
"qk_norm": false,
|
| 13 |
+
"fused_attn": true,
|
| 14 |
+
"bn_momentum": 0.1,
|
| 15 |
+
"compile": false,
|
| 16 |
+
"data_dir": null,
|
| 17 |
+
"resolution": 256,
|
| 18 |
+
"batch_size": 256,
|
| 19 |
+
"allow_tf32": true,
|
| 20 |
+
"ploss": false,
|
| 21 |
+
"mixed_precision": "no",
|
| 22 |
+
"epochs": 1400,
|
| 23 |
+
"max_train_steps": 400000,
|
| 24 |
+
"checkpointing_steps": 50000,
|
| 25 |
+
"gradient_accumulation_steps": 1,
|
| 26 |
+
"learning_rate": 0.0001,
|
| 27 |
+
"adam_beta1": 0.9,
|
| 28 |
+
"adam_beta2": 0.999,
|
| 29 |
+
"adam_weight_decay": 0.0,
|
| 30 |
+
"adam_epsilon": 1e-08,
|
| 31 |
+
"max_grad_norm": 1000000000.0,
|
| 32 |
+
"max_grad_norm_vae": 1.0,
|
| 33 |
+
"seed": 0,
|
| 34 |
+
"num_workers": 4,
|
| 35 |
+
"path_type": "linear",
|
| 36 |
+
"prediction": "v",
|
| 37 |
+
"prediction_internal": "v",
|
| 38 |
+
"cfg_prob": 0.1,
|
| 39 |
+
"weighting": "uniform",
|
| 40 |
+
"vae_config": "sit-b_interptok-41k/interptok_41k.yaml",
|
| 41 |
+
"token_drop": -1,
|
| 42 |
+
"token_drop_mode": "drop",
|
| 43 |
+
"token_drop_param": 1.0,
|
| 44 |
+
"token_drop_dim": 1
|
| 45 |
+
}
|
sit-b_interptok-41k/checkpoints/0400000.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d5426a307d26324dd281369190f6e3df2153b9d1c6e849d4db3fb8c413df52fa
|
| 3 |
+
size 553237336
|
sit-b_interptok-41k/interptok_41k.yaml
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
target: model.Tokenizer
|
| 2 |
+
params:
|
| 3 |
+
weights: interptok_41k.safetensors
|
sit-b_maetok/args.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"output_dir": "exps",
|
| 3 |
+
"exp_name": "sit-b_maetok",
|
| 4 |
+
"logging_dir": "logs",
|
| 5 |
+
"report_to": null,
|
| 6 |
+
"sampling_steps": 10000,
|
| 7 |
+
"resume_step": 0,
|
| 8 |
+
"continue_train_exp_dir": null,
|
| 9 |
+
"wandb_history_path": null,
|
| 10 |
+
"model": "SiT-B/1D",
|
| 11 |
+
"num_classes": 1000,
|
| 12 |
+
"qk_norm": false,
|
| 13 |
+
"fused_attn": true,
|
| 14 |
+
"bn_momentum": 0.1,
|
| 15 |
+
"compile": false,
|
| 16 |
+
"data_dir": null,
|
| 17 |
+
"resolution": 256,
|
| 18 |
+
"batch_size": 256,
|
| 19 |
+
"allow_tf32": true,
|
| 20 |
+
"ploss": false,
|
| 21 |
+
"mixed_precision": "no",
|
| 22 |
+
"epochs": 1400,
|
| 23 |
+
"max_train_steps": 400000,
|
| 24 |
+
"checkpointing_steps": 50000,
|
| 25 |
+
"gradient_accumulation_steps": 1,
|
| 26 |
+
"learning_rate": 0.0001,
|
| 27 |
+
"adam_beta1": 0.9,
|
| 28 |
+
"adam_beta2": 0.999,
|
| 29 |
+
"adam_weight_decay": 0.0,
|
| 30 |
+
"adam_epsilon": 1e-08,
|
| 31 |
+
"max_grad_norm": 1000000000.0,
|
| 32 |
+
"max_grad_norm_vae": 1.0,
|
| 33 |
+
"seed": 0,
|
| 34 |
+
"num_workers": 4,
|
| 35 |
+
"path_type": "linear",
|
| 36 |
+
"prediction": "v",
|
| 37 |
+
"prediction_internal": "v",
|
| 38 |
+
"cfg_prob": 0.1,
|
| 39 |
+
"weighting": "uniform",
|
| 40 |
+
"vae_config": "sit-b_maetok/maetok.yaml",
|
| 41 |
+
"token_drop": -1,
|
| 42 |
+
"token_drop_mode": "drop",
|
| 43 |
+
"token_drop_param": 1.0,
|
| 44 |
+
"token_drop_dim": 1
|
| 45 |
+
}
|
sit-b_maetok/checkpoints/0400000.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6840a53617484036458ddb5ac3306bba92cd0a51ad13231fa08c0aba63fc1ddd
|
| 3 |
+
size 553237336
|
sit-b_maetok/maetok.yaml
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
target: model.Tokenizer
|