| data: | |
| protocol: synthetic_sevir | |
| # Reference dataset: official SEVIR VIL (earthformer_sevir_v1.yaml) uses | |
| # 384x384 frames at 5-minute intervals, seq_len = 25 (13 input + 12 output), | |
| # "sequent" sampling with stride 12, single channel. The small spatial shape | |
| # below is intentionally the default for CPU smoke verification. | |
| input_length: 13 | |
| output_length: 12 | |
| height: 32 | |
| width: 32 | |
| channels: 1 | |
| frame_interval_minutes: 5 | |
| normalization: unit | |
| data_dir: data/synthetic_sevir | |
| train_samples: 8 | |
| val_samples: 2 | |
| test_samples: 2 | |
| train_npz: data/synthetic_sevir/train.npz | |
| val_npz: data/synthetic_sevir/val.npz | |
| test_npz: data/synthetic_sevir/test.npz | |
| fallback_if_missing: true | |
| model: | |
| dims: [4, 8] | |
| depths: [1, 1] | |
| heads: 1 | |
| pattern: [[2, 4, 4]] | |
| num_global_vectors: 1 | |
| ff_ratio: 2.0 | |
| dropout: 0.0 | |
| train: | |
| seed: 42 | |
| # Training always starts from a randomly initialized model (from scratch). | |
| # The --resume flag only restores a locally trained checkpoint for continued | |
| # training; no official pretrained Earthformer weights are ever downloaded. | |
| batch_size: 1 | |
| epochs: 5 | |
| validation_steps: 1 | |
| # Per-epoch validation computes only cheap MSE/MAE (the training loss is | |
| # already MSE). Enable this to also compute SSIM/CSI every epoch; the | |
| # authoritative full evaluation lives in script/result.py. | |
| compute_full_metrics: false | |
| learning_rate: 0.001 | |
| weight_decay: 0.00001 | |
| # Trained weights for inference are saved here as earthformer.pt. | |
| output_dir: data/checkpoint | |
| dataloader: | |
| num_workers: 0 | |
| pin_memory: false | |
| distributed: | |
| backend: auto | |