| # ezflow_v2/baselines β external neural-operator baselines |
| |
| For a high-impact submission we must compare GeoReNet against current SOTA neural |
| operators, not only the original MeshGraphNet. Per the lit review, the two required |
| baselines are **Transolver** (ICML 2024) and **GINO** (NeurIPS 2023). |
| |
| Approach (user-chosen): **Transolver first, then decide on GINO.** We use each |
| method's **official model code inside our training/eval harness** β same data |
| (`cache_v2`), same split, loss, augmentation, and `paper2/eval_table.py` β so the |
| comparison is apples-to-apples. |
| |
| ## Transolver (in progress) |
| - Official repo vendored under `Transolver-main/` (downloaded zip; git not installed). |
| We load `Car-Design-ShapeNetCar/models/Transolver.py` **verbatim** (the 3D |
| point-cloud Physics-Attention model). |
| - `transolver_wrap.py` β thin wrapper: feeds our graphs as |
| `cat([pos, node_features, broadcast(Re,yaw globals)])` so Transolver gets the |
| **same conditioning** GeoReNet's FiLM uses (fair); returns `[N, 7]`. |
| - Train: `train_v5.py --model transolver --tag transolver --cache cache_v2 --epochs 160 --batch 1`. |
| ~3.88M params (β GeoReNet's 3.28M); **~45 s/epoch, ~1.2 GB VRAM** (attention-only, |
| much faster than the GNNs). Evaluated by `paper2/eval_table.py` (Transolver branch). |
|
|
| ### β οΈ Dependency lesson (important) |
| `pip install timm` (Transolver's only non-obvious dep) **silently upgraded torch |
| 2.11.0+cu128 β 2.12.1+cpu**, killing CUDA. Fix applied: |
| - removed `timm`/`torchvision`; restored `torch==2.11.0+cu128` via |
| `pip install torch==2.11.0 --index-url https://download.pytorch.org/whl/cu128 --no-deps --force-reinstall`; |
| - **stubbed the one symbol Transolver needs** (`timm.models.layers.trunc_normal_` |
| β `torch.nn.init.trunc_normal_`) in `transolver_wrap._stub_timm()`, so **timm is |
| no longer required**. `einops` (pure-python) is kept. |
| - **Rule:** never `pip install` a package that depends on torch without `--no-deps` |
| (or check it won't move the pinned `torch==2.11.0+cu128`). |
|
|
| ## GINO (pending β decide after Transolver) |
| GINO (GNO+FNO, `neuraloperator` library, SDF + latent grid) is heavier and more |
| dependency-sensitive (risk of another torch conflict; FNO on a latent grid may |
| strain the 8 GB GPU). If the official path is painful, fall back to a faithful |
| in-framework reimplementation. Decision deferred until Transolver lands. |
|
|