SWAP-INR: Implicit Neural Representation with Switchable Attention Paths for Time-varying Multivariate Scientific Data Compression
Accepted at WACV 2027
Paper: Coming soon
Figure 1. Overview of the proposed SWAP-INR. Given a spatiotemporal coordinate
Table 1. Quantitative comparison of compression results with previous methods at matched CR. The * denotes that the reported performance is averaged across independent time steps. Baselines are stored at 32-bit precision, while SWAP-INR uses 16-bit.
Due to supplementary-material size limitations, the provided model weights and example datasets for ROCOM and Ionization use downsampled versions of the original datasets. The original full-resolution datasets used for the paper experiments are substantially larger.
| Dataset | Original dataset size (paper) | Downsampled dataset size (repository) |
|---|---|---|
| ROCOM | 1,943,807 KB | 80,995 KB |
| Ionization | 450,469 KB | 11,270 KB |
| Dataset | Evaluation | PSNR ↑ | NRMSE ↓ |
|
|---|---|---|---|---|
| ROCOM | Paper (original data) | 47.41 | 0.0073 | 0.9782 |
| ROCOM | Repository (downsampled data) | 43.06 | 0.0108 | 0.9421 |
| Ionization | Paper (original data) | 50.25 | 0.0032 | 0.9905 |
| Ionization | Repository (downsampled data) | 53.66 | 0.0021 | 0.9810 |
Note: The supplied checkpoints were obtained using downsampled ROCOM and Ionization data. These results are not directly comparable with full-dataset results because the evaluation data differ. All results reported in this reproduction table were obtained using FP16.
Before running training or inference, create and activate a Conda environment and install the required dependencies:
conda create -n SWAP-INR python=3.9 -y
conda activate SWAP-INR
pip install -r requirements.txtRun the following training and inference commands from the code/ directory.
cd code/ROCOM
python train.py --dataset ROCOM_down_down --num_var 8 --Shared_hidden 64 --Branch_hidden 32 --name ROCOM_down_down_test --device cudaIonization
python train.py --dataset ionization_down_down --num_var 4 --Shared_hidden 64 --Branch_hidden 24 --name ionization_down_down_test --device cudaThe --name argument is required. Checkpoints and pruned models are saved under:
Exp/<dataset>/<name>/
Additional training options:
python train.py \
--dataset ROCOM_down_down \
--name experiment_name \
--device cuda \
--batch_size 100000 \
--base_num_epochs 2000 \
--on_num_epochs 1000Use --device cpu if CUDA is unavailable.
Use the same dataset, experiment name, and model architecture arguments as in training.
ROCOM
python inference.py --dataset ROCOM_down_down --num_var 8 --Shared_hidden 64 --Branch_hidden 32 --name ROCOM_down_down_test --device cudaFP16 inference:
python inference.py --dataset ROCOM_down_down --num_var 8 --Shared_hidden 64 --Branch_hidden 32 --name ROCOM_down_down_test --use_half --device cudaIonization
python inference.py --dataset ionization_down_down --num_var 4 --Shared_hidden 64 --Branch_hidden 24 --name ionization_down_down_test --device cudaFP16 inference:
python inference.py --dataset ionization_down_down --num_var 4 --Shared_hidden 64 --Branch_hidden 24 --name ionization_down_down_test --use_half --device cudaCitation information will be added when the official WACV 2027 paper metadata is available.
This work was conducted at the High-performance Visual Computing Lab (HVCL), Korea University.
We gratefully acknowledge Prof. Chaoli Wang at the University of Notre Dame for providing the Combustion and Ionization datasets, the Korea Atomic Energy Research Institute (KAERI) for providing the ROCOM, CUPID, and Synthetic datasets, and the TFC & BME Lab (led by Prof. Haecheon Choi) at Seoul National University for providing the SMR Simulation dataset. We also extend our sincere gratitude to the Electronics and Telecommunications Research Institute (ETRI) for their valuable collaboration to this research.
⭐ Star this repo to stay updated on the code release!

