File size: 2,517 Bytes
92d0b3f | 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 67 | # GraphDOP 训练配置示例
# 论文配置:输入一个 12 小时观测窗口(O96 reduced Gaussian 网格约 1°、40320 潜节点),
# 经 GNN 编码器映射到潜网格、Transformer 处理器推进时间、GNN 解码器预测下一窗口观测;
# 潜空间通道 1024,WMSE 目标,18 年数据(2004-2021)训练,64×H100 70k 步。
# 当前为连通性验证小配置:虚拟数据 32×32 网格、潜网格 8×8、latent_dim=64。
model:
start_epoch: 0
max_epoch: 100
lr: 1E-3 # 论文起始 lr=1e-3,cosine 退火到 3e-7(warmup 1000 步)
patience: 50
checkpoint_dir: "./data/checkpoints"
# GraphDOP 结构参数(论文值见注释)
in_channels: 6 # 观测通道数(论文为多仪器通道,如 ATMS/AMSU-A/IASI 等)
out_channels: 6 # 预报通道数
input_steps: 2 # 输入窗口帧数(论文为单个 12h 窗口;time_step=6h 故取 2 帧)
output_steps: 2 # 输出窗口帧数(论文为下一个 12h 窗口)
grid_shape: [32, 32] # 观测网格尺寸(论文 O96 约 1°)
mesh_shape: [8, 8] # 潜网格尺寸(论文 O96 reduced Gaussian 40320 节点)
latent_dim: 64 # 潜空间通道数(论文 1024)
num_encoder_layers: 2 # 编码器 GNN 消息传递层数
num_decoder_layers: 2 # 解码器 GNN 消息传递层数
num_processor_blocks: 1 # 处理器 Transformer 块数
n_heads: 4
hidden_dim: 64
channel_weights: [1, 1, 1, 1, 1, 1] # WMSE 逐通道权重(论文 w_{c,i} 经验值)
# 整个数据读取流程
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, 32]
verbose: true
cache: false
# 气象变量(论文观测类型占位:ATMS 亮温/掩星弯角/散射计后向散射/雷达高度计有效波高/常规观测)
channels: ['atms_brightness_temperature', 'gpsro_bending_angle', 'ascat_sigma0',
'significant_wave_height', '2m_temperature', '10m_wind_speed']
# DataLoader 配置
dataloader:
mask_dtype: "float32"
batch_size: 4
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
|