Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion docs/zh/examples/transolver.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

!!! note

第一次运行时,会对 mlcfd_data 进行预处理,大约需要一小时,请耐心等待
运行本案例前请先安装相关依赖库: `pip install -r requirements.txt`

=== "模型训练命令"

Expand All @@ -15,6 +15,10 @@
python main.py
```

!!! note

第一次运行时,会对 mlcfd_data 进行预处理,大约需要一小时,请耐心等待

=== "模型评估命令"

``` sh
Expand All @@ -26,6 +30,10 @@
python main.py mode=eval EVAL.pretrained_model_path=https://paddle-org.bj.bcebos.com/paddlescience/models/transolver/transolver_pretrained.pdparams
```

!!! note

第一次运行时,会对 mlcfd_data 进行预处理,大约需要一小时,请耐心等待

=== "模型导出命令"

``` sh
Expand All @@ -43,6 +51,10 @@
python main.py mode=infer
```

!!! note

第一次运行时,会对 mlcfd_data 进行预处理,大约需要一小时,请耐心等待

| 预训练模型 | 指标 |
|:--| :--|
| [transolver_pretrained.pdparams](https://paddle-org.bj.bcebos.com/paddlescience/models/transolver/transolver_pretrained.pdparams) | rho_d:, 0.99314<br>c_d: 0.01136<br>relative l2 error of press: 0.07829<br>relative l2 error of velocity: 0.02304<br>press: 4.95888<br>velocity: [0.12163974 0.14851639 0.41583335] 0.26443 |
Expand Down
2 changes: 2 additions & 0 deletions examples/transolver/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-e git+https://github.com/PFCCLab/paddle_geometric.git@main#egg=paddle_geometric
vtk
20 changes: 14 additions & 6 deletions examples/transolver/shapenet_car.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,13 @@

try:
from paddle_geometric import nn as nng
except ModuleNotFoundError:
pass
try:
from paddle_geometric.data import Data
except ModuleNotFoundError:
pass
try:
from paddle_geometric.utils import k_hop_subgraph
except ModuleNotFoundError:
pass
Expand Down Expand Up @@ -362,7 +368,9 @@ def get_shape(data, max_n_point=8192, normalize=True, use_height=False):
return shape_pc


def create_edge_index_radius(data, r, max_neighbors=32) -> "torch.Tensor": # noqa: F821
def create_edge_index_radius(
data, r, max_neighbors=32
) -> "paddle.Tensor": # noqa: F821
data.edge_index = nng.radius_graph(
x=data.pos, r=r, loop=True, max_num_neighbors=max_neighbors
)
Expand Down Expand Up @@ -410,23 +418,23 @@ def __len__(self):
def __getitem__(self, idx):
sample = self.datalist[idx]
shape = get_shape(sample, use_height=self.use_height)
velo_press = paddle.from_dlpack(sample.y)
velo_press = sample.y

inp = {
"x": paddle.from_dlpack(sample.x),
# "pos": paddle.from_dlpack(sample.pos),
"x": sample.x,
# "pos": (sample.pos),
}
lab = {
"velo_vec": velo_press[..., 0:3], # x,y,z
"press": velo_press[..., 3:], # p
"surf": paddle.from_dlpack(sample.surf),
"surf": sample.surf,
}
wei = {}
# lab["sdf"] = inp["x"][:, 3:4]
# lab["normal_vec"] = inp["x"][:, 4:]

if not self.training:
lab["shape"] = paddle.from_dlpack(shape)
lab["shape"] = shape

return inp, lab, wei

Expand Down
Loading