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 loadCar-Design-ShapeNetCar/models/Transolver.pyverbatim (the 3D point-cloud Physics-Attention model). transolver_wrap.py— thin wrapper: feeds our graphs ascat([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 bypaper2/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; restoredtorch==2.11.0+cu128viapip 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_) intransolver_wrap._stub_timm(), so timm is no longer required.einops(pure-python) is kept. - Rule: never
pip installa package that depends on torch without--no-deps(or check it won't move the pinnedtorch==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.