Skip to main content

TiTok - Pytorch

Project description

TiTok - Pytorch (wip)

Implementation of TiTok, proposed by Bytedance in An Image is Worth 32 Tokens for Reconstruction and Generation

Install

$ pip install titok-pytorch

Usage

import torch
from titok_pytorch import TiTokTokenizer

images = torch.randn(2, 3, 256, 256)

titok = TiTokTokenizer(
    dim = 1024,
    patch_size = 32,
    num_latent_tokens = 32,   # they claim only 32 tokens needed
    codebook_size = 4096      # codebook size 4096
)

loss = titok(images)
loss.backward()

# after much training
# extract codes for gpt, maskgit, whatever

codes = titok.tokenize(images) # (2, 32)

# reconstructing images from codes

recon_images = titok.codebook_ids_to_images(codes)

assert recon_images.shape == images.shape

Todo

  • add multi-resolution patches

Citations

@article{yu2024an,
  author    = {Qihang Yu and Mark Weber and Xueqing Deng and Xiaohui Shen and Daniel Cremers and Liang-Chieh Chen},
  title     = {An Image is Worth 32 Tokens for Reconstruction and Generation},
  journal   = {arxiv: 2406.07550},
  year      = {2024}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

titok_pytorch-0.0.5.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

titok_pytorch-0.0.5-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file titok_pytorch-0.0.5.tar.gz.

File metadata

  • Download URL: titok_pytorch-0.0.5.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for titok_pytorch-0.0.5.tar.gz
Algorithm Hash digest
SHA256 49ffa0c92faf03b5cc536f84243c42c277a4b001b04adce42c4b3537c9238f1f
MD5 a6558be2e5afc9901420e2b20a772b3e
BLAKE2b-256 c4d5c23e3ae618858f2c760b160555efb18ace98eda8e485379c38cf9e295e2d

See more details on using hashes here.

File details

Details for the file titok_pytorch-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for titok_pytorch-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bf7e2c69c848c8386dc578ac2063191b2ffe757ac250f2b623013bc66d78f791
MD5 adce9264bd54d91ca3aabf5fb70e816d
BLAKE2b-256 f7597098442f96023cd13ed9c9101148e069b5e3d1bfa8bbb86bac27278ae406

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page