SeFNO-model / README.md
JasonXF's picture
Update README.md
9cb7da5 verified
# SeFNO β€” Seismic Floor Acceleration Response Prediction (FNO v1.0+)
Pre-trained **Fourier Neural Operator (FNO)** models for predicting multi-floor acceleration response time histories of MDOF shear buildings subjected to seismic ground motions.
**Code:** [github.com/HKUJasonJiang/Seismic-FNO](https://github.com/HKUJasonJiang/Seismic-FNO)
---
## Task
Given a scaled ground motion acceleration time series (3 000 time steps, 50 Hz), the model predicts the roof-floor acceleration response of a target building β€” a pure **regression** task over 1-D signals.
| Input | Shape | Description |
|-------|-------|-------------|
| Ground motion | `(1, 3000)` | Scaled accelerogram (m/sΒ²) |
| Output | Shape | Description |
|--------|-------|-------------|
| Floor acceleration | `(1, 3000)` | Roof acceleration response (m/sΒ²) |
---
## Available Models
### Baseline Models
Three FNO configurations trained for 50 epochs on the full KNET dataset (3 474 GMs Γ— 57 amplitude scale factors, 250 building configurations):
| Folder | Hidden (`h`) | Modes (`m`) | Layers (`l`) | Parameters |
|--------|:-----------:|:-----------:|:------------:|:----------:|
| `Base-FNO_v1.0+_h64_m64_l4_e50_*/` | 64 | 64 | 4 | ~3 M |
| `Large-FNO_v1.0+_h64_m512_l8_e50_*/` | 64 | 512 | 8 | ~12 M |
| `Huge-FNO_v1.0+_h128_m1024_l12_e50_*/` | 128 | 1024 | 12 | ~48 M |
### Experimental Series
| Folder | Runs | Purpose |
|--------|:----:|---------|
| `Test-Series (Test-1~10)/` | 10 | Hyper-parameter sweep (modes, layers, hidden channels) |
| `Efficiency-Series (E-Base, E-Test-1~14)/` | 15 | Dataset-size ablation (varying number of GMs and scale factors) |
Each model folder contains:
```
<model_folder>/
β”œβ”€β”€ model/
β”‚ └── fno_best.pth # Best checkpoint (lowest validation loss)
└── details/
β”œβ”€β”€ training_log.csv # Epoch-by-epoch MSE / RMSE / MAE / RΒ²
β”œβ”€β”€ training_config.txt # Full hyperparameter configuration
β”œβ”€β”€ dataset_indices.pkl # Reproducible train / val / test split indices
└── test_results.txt # Final test-set metrics
```
---
## Usage
### Install dependencies
Refer to github repo.
### Quick review notebook
Open `quick_inference.ipynb` in the cloned repository to run inference on the held-out test set and visualise time-history and Fourier amplitude spectrum comparisons interactively.
## License
[Creative Commons Attribution 4.0 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/)