File size: 2,661 Bytes
b11fdaa
 
 
 
 
 
 
 
 
 
 
366f73c
 
b11fdaa
366f73c
 
 
b11fdaa
 
91fdd9d
 
b11fdaa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91fdd9d
b11fdaa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4282dda
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
---
license: apache-2.0
language:
- en
tags:
- physics
- PDEs
- surrogate
- FoundationModels
- AI4Sci
---
<p align="center">
<a href="https://github.com/tum-pbs/Tadpole">
  <img src="assets/images/tadpole_colorful.png" width="100"/>
</a>
</a>
</p>
<h4 align="center">Autoencoders as Foundation Models for 3D PDEs with Online Learning</h4>
<p align="center">
<a href="https://arxiv.org/abs/2605.15284">
  <img src="https://img.shields.io/badge/arXiv-2605.15284-b31b1b?logo=arxiv" alt="Read on arXiv"/>
</a>
</a>
<a href="https://github.com/tum-pbs/Tadpole">
  <img src="https://img.shields.io/badge/Github-Tadpole-181717?logo=github" alt="Github project"/>
</a>
</p>

## About

This repository contains pre-trained weights of **Tadpole**, a foundation model for three-dimensional partial differential equations (PDEs). 

Tadpole distinguishes itself from existing PDE foundation models in three key aspects: 

(1) Tadpole is pre-trained as an autoencoder to learn the inherent representation of PDE solutions, which is more generalizable than the traditional paradigm of training PDE foundation models directly on the dynamics evolution of PDE solutions.

(2) Tadpole is pretrained with online learning. which utilize a GPU-based solver to generate diverse data distribution without IO or storage bottlenecks induced by 3D PDE data.

(3) Tadpole is able to process multiple downstream tasks, including autoencoding, dynamics prediction, and generative modeling.

For more details, please refer to our [research paper](https://arxiv.org/abs/2605.15284):

## Installation and Loading Pre-trained Weights

Tadpole can be installed via pip:

```bash
pip install git+https://github.com/tum-pbs/Tadpole
```

The pre-trained weights are named as `tadpole_{SIZE}_{TYPE}.safetensors`, where `{SIZE}` can be `S`, `B`, or `L` indicating the model size, and `{TYPE}` can be `encoder` or `decoder` indicating the model type. Weights can be loaded through `weight_{TYPE}` arguments in Tadpole model classes:

```python
from huggingface_hub import hf_hub_download
ae=TadpoleAutoencoder(
    size="B",
    weight_encoder=hf_hub_download(repo_id="thuerey-group/Tadpole",filename="tadpole_b_encoder.safetensors"),
    # or you can also download the weights from Hugging Face and load it locally
    weight_decoder=hf_hub_download(repo_id="thuerey-group/Tadpole",filename="tadpole_b_decoder.safetensors"),
    )
```

Please refer to our [github repository](https://github.com/tum-pbs/Tadpole) for more details and tutorials.

Note: Currently, we only provide pre-trained weights for the B-size model; S- and L-size models will be released in the near future. Please stay tuned😊!