File size: 1,979 Bytes
9b62a9b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | # 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
|