| # SFNO 训练配置示例 | |
| # 论文默认配置为 0.25° 全球网格(721×1440)与 26/73 通道; | |
| # 当前 img_size/embed_dim 等为连通性验证用的小配置,完整论文复现需按论文调整。 | |
| model: | |
| start_epoch: 0 | |
| max_epoch: 100 | |
| lr: 1E-3 | |
| patience: 50 | |
| checkpoint_dir: "./data/checkpoints" | |
| # SFNO 网络参数(模型名对应 Bonev et al. 2023 Spherical Fourier Neural Operator) | |
| img_size: [32, 64] # 论文为 [721, 1440](0.25° ERA5) | |
| scale_factor: 2 # 潜在空间频谱降采样倍数(论文天气模型未公开精确值) | |
| embed_dim: 16 # 嵌入维度(论文为 256,需大显存) | |
| num_layers: 2 # SFNO block 层数(论文约 8 层) | |
| activation_function: "gelu" | |
| use_mlp: true | |
| mlp_ratio: 2.0 | |
| drop_rate: 0.0 | |
| drop_path_rate: 0.0 | |
| normalization_layer: "instance_norm" | |
| hard_thresholding_fraction: 1.0 | |
| residual_prediction: false | |
| pos_embed: "none" # 可选: none / sequence / spectral / learnable lat / learnable latlon | |
| bias: false | |
| # 整个数据读取流程 | |
| datapipe: | |
| name: "ERA5" | |
| task: "weather_forecasting" | |
| dataset: | |
| type: "hdf5" | |
| data_dir: './data/' | |
| train_time: [1951, 1952] | |
| val_time: [1953] | |
| test_time: [1954] | |
| img_size: [32, 64] | |
| verbose: true | |
| cache: false | |
| # 气象变量(此处为论文 26/73 变量配置的一个小子集,用于连通性验证) | |
| channels: ['10m_u_component_of_wind', '10m_v_component_of_wind', '2m_temperature', | |
| 'mean_sea_level_pressure', 'geopotential_500', 'temperature_850'] | |
| # DataLoader 配置 | |
| dataloader: | |
| mask_dtype: "float32" | |
| batch_size: 2 | |
| num_workers: 1 | |
| pin_memory: true | |
| drop_last: true | |
| shuffle: false | |
| prefetch_factor: 2 | |
| persistent_workers: true | |
| # 分布式配置 | |
| distributed: | |
| enabled: true | |
| sampler: "DistributedSampler" | |
| rank: 0 | |
| world_size: 2 | |
| shuffle: true | |
| seed: 42 | |
| drop_last: true | |