Skip to main content

Spline Based Transformer

Project description

Spline-Based Transformer (wip)

Implementation of the proposed Spline-Based Transformer (paper) from Disney Research

This is basically a transformer based autoencoder, but they cleverly use a set of latent tokens, where that set of tokens are the (high dimensional) control points for a spline.

Install

$ pip install spline-based-transformer

Usage

import torch
from spline_based_transformer import SplineBasedTransformer

model = SplineBasedTransformer(
    dim = 512,
    enc_depth = 6,
    dec_depth = 6
)

data = torch.randn(1, 1024, 512)

loss = model(data, return_loss = True)
loss.backward()

# after much training

recon, control_points = model(data, return_latents = True)
assert data.shape == recon.shape

# mess with the control points, which should preserve continuity better

control_points += 1

controlled_recon = model.decode_from_latents(control_points, num_times = 1024)
assert controlled_recon.shape == data.shape

Citations

@misc{Chandran2024,
    author  = {Prashanth Chandran, Agon Serifi, Markus Gross, Moritz Bächer},
    url     = {https://la.disneyresearch.com/publication/spline-based-transformers/}
}

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

spline_based_transformer-0.0.8.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

spline_based_transformer-0.0.8-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file spline_based_transformer-0.0.8.tar.gz.

File metadata

File hashes

Hashes for spline_based_transformer-0.0.8.tar.gz
Algorithm Hash digest
SHA256 c01851513ef2c66a9b76ce93f790c5502b8e152dae0a022f300a26112e754ed1
MD5 455a7d9dd6d741fe52bc455681b5e30f
BLAKE2b-256 70f6f0efb6f2ab0df5b4f3464efa2b176d9fb97f48d965b6c94f84a470e2b3ef

See more details on using hashes here.

File details

Details for the file spline_based_transformer-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for spline_based_transformer-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 8391d949db8202afc4d7d0f8a2769716cd344bcdb82bb269795f1f8196c7547d
MD5 6b35c1e3fe41cf02fa6546a4af7e1775
BLAKE2b-256 5b6133adcf0644bcb8ad53a7e25c6da4c626e182fa1280afd2a63a4d5cdd0c6a

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