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