Implementation of Rigidformer
Project description
Rigidformer
Implementation of RigidFormer, Learning Rigid Dynamics using Transformers, out of MIT and Meta
Install
$ pip install rigidformer
Usage
import torch
from rigidformer import Rigidformer
# instantiate model
model = Rigidformer(
dim = 256,
dim_head = 192,
heads = 8,
object_self_attn_depth = 4,
anchor_cross_attn_depth = 4,
num_anchors = 4,
object_hidden_layers = (0, 1, 2, 4),
vertex_properties_dim = 3
)
# mock inputs
delta_times = torch.randn(2)
vertex_properties = torch.randn(2, 4, 3) # (batch, num_objects, d_attr)
object_pos = torch.randn(2, 4, 64, 3) # (batch, num_objects, num_points, 3)
object_pos_prev = torch.randn(2, 4, 64, 3)
object_pos_next = torch.randn(2, 4, 64, 3)
# training
loss, loss_breakdown = model(
delta_times = delta_times,
vertex_properties = vertex_properties,
object_pos = object_pos,
object_pos_prev = object_pos_prev,
object_pos_next = object_pos_next # target
)
loss.backward()
# if `object_pos_next` not passed in, will return predictions
pred = model(
delta_times = delta_times,
vertex_properties = vertex_properties,
object_pos = object_pos,
object_pos_prev = object_pos_prev,
)
assert pred.object_pos_next.shape == object_pos.shape
# rollout multiple steps with a wrapper
from rigidformer import RigidformerRolloutWrapper
wrapper = RigidformerRolloutWrapper(model)
rollout_positions = wrapper(
num_steps = 10,
delta_times = delta_times,
vertex_properties = vertex_properties,
object_positions = [object_pos_prev, object_pos]
)
# rollout_positions is a list of length 12 tensors of shape (batch, num_objects, num_points, 3)
# includes the 2 initial positions
Citations
@misc{dou2026rigidformerlearningrigiddynamics,
title = {RigidFormer: Learning Rigid Dynamics using Transformers},
author = {Zhiyang Dou and Minghao Guo and Haixu Wu and Doug Roble and Tuur Stuyck and Wojciech Matusik},
year = {2026},
eprint = {2605.09196},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2605.09196},
}
@inproceedings{Arora2023ZoologyMA,
title = {Zoology: Measuring and Improving Recall in Efficient Language Models},
author = {Simran Arora and Sabri Eyuboglu and Aman Timalsina and Isys Johnson and Michael Poli and James Zou and Atri Rudra and Christopher R'e},
year = {2023},
url = {https://api.semanticscholar.org/CorpusID:266149332}
}
@misc{islam2026platonictransformerssolidchoice,
title = {Platonic Transformers: A Solid Choice For Equivariance},
author = {Mohammad Mohaiminul Islam and Rishabh Anand and David R. Wessels and Friso de Kruiff and Thijs P. Kuipers and Rex Ying and Clara I. Sánchez and Sharvaree Vadgama and Georg Bökman and Erik J. Bekkers},
year = {2026},
eprint = {2510.03511},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2510.03511},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rigidformer-0.1.1.tar.gz
(14.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rigidformer-0.1.1.tar.gz.
File metadata
- Download URL: rigidformer-0.1.1.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e424eedb552485562cc43c223e28849361cb953d92819c27e42cc158f8de5ec
|
|
| MD5 |
e88280f5eb488391363e84be1ac8faaa
|
|
| BLAKE2b-256 |
6a5d5409fc37ac7c4d1565badcde605d5688fd71f3180f0027b38545ce370255
|
File details
Details for the file rigidformer-0.1.1-py3-none-any.whl.
File metadata
- Download URL: rigidformer-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72e6cabebacaf0443f88131944c66069032a7fad745983074e7fb0748323b713
|
|
| MD5 |
f72fac081de58425172aeb8e3a8aab74
|
|
| BLAKE2b-256 |
f33228754a2701489c88c2931872737826b8e16b829a27a9a9e144f06dbd6139
|