WDNO (Wavelet Diffusion Neural Operator)¶
WDNO combines a diffusion model with a wavelet representation to model complex spatiotemporal dynamics, especially when abrupt changes are present.
Reference Paper: Hu et al., ICLR 2025.
@inproceedings{
hu2025wavelet,
title={Wavelet Diffusion Neural Operator},
author={Peiyan Hu and Rui Wang and Xiang Zheng and Tao Zhang and Haodong Feng and Ruiqi Feng and Long Wei and Yue Wang and Zhi-Ming Ma and Tailin Wu},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025}
}
RealPDEBench interface¶
- Input:
xwith shape[B, T_in, H, W, C_in] - Output: predictions with shape
[B, T_out, H, W, C_out]
Implementation notes (RealPDEBench)¶
- WDNO trains a diffusion model in wavelet-coefficient space on a concatenation of input and target information.
- Inference is performed by DDPM/DDIM-style sampling and can be slower than deterministic operator baselines due to multiple sampling steps.
- Conditioning uses wavelet coefficients derived from the input window.
WDNO specific YAML config¶
This baseline is enabled by model_name: "wdno" in the training YAML.
Config files¶
- Cylinder:
realpdebench/configs/cylinder/wdno.yaml - Controlled Cylinder:
realpdebench/configs/controlled_cylinder/wdno.yaml - FSI:
realpdebench/configs/fsi/wdno.yaml - Foil:
realpdebench/configs/foil/wdno.yaml - Combustion:
realpdebench/configs/combustion/wdno.yaml
Model-specific keys¶
These keys are consumed by realpdebench.model.load_model.load_model() and realpdebench.model.wdno.WDNO.
dim(int): Base channel width of the internal 3D U-Net used by the diffusion model.dim_mults(list[int]): Channel multipliers per resolution stage of the internal U-Net.wave_type(str): Wavelet family used for the wavelet decomposition (e.g.,"bior1.1").pad_mode(str): Wavelet padding mode (e.g.,"zero").beta_schedule(str): Diffusion beta schedule ("linear","cosine", or"sigmoid").sampling_timesteps(int): Number of sampling steps for inference. If smaller than the diffusion training steps, WDNO uses DDIM-style fast sampling.ddim_sampling_eta(float): DDIM sampling noise parameter (controls stochasticity during DDIM sampling).
Tip
For WDNO, sampling_timesteps is the main speed knob at evaluation time: fewer steps are faster but may degrade sample quality.