sekkit Obeisswenger commited on
Commit
9dc6128
·
0 Parent(s):

Duplicate from CGTuebingen/InterpTok-Models

Browse files

Co-authored-by: Ole Beißwenger <Obeisswenger@users.noreply.huggingface.co>

.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) &nbsp;|&nbsp; [💻 Code](https://github.com/cgtuebingen/InterpTok) &nbsp;|&nbsp; [🌐 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