File size: 3,169 Bytes
3549cf5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
{
  "model_name": "AlphaEarthFoundations",
  "model_type": "alphaearthfoundations",
  "architectures": [
    "AlphaEarthFoundations",
    "STPBlock",
    "ConditionalDecoder"
  ],
  "framework": "PyTorch",
  "domain": "earth-observation",
  "task": "multi-source-geospatial-embedding",
  "implementation": {
    "entry_point": "model/alphaearthfoundations.py",
    "scope": "engineering reproduction of a multi-source spatiotemporal embedding field for sparse-label global Earth observation mapping",
    "train_script": "scripts/train.py",
    "inference_script": "scripts/inference.py",
    "evaluation_script": "scripts/result.py",
    "synthetic_data_script": "scripts/fake_data.py"
  },
  "architecture": {
    "family": "spatiotemporal precision-time-space embedding field",
    "input_sources": [
      "sentinel2",
      "sentinel1",
      "landsat"
    ],
    "precision_dim": 8,
    "time_dim": 16,
    "space_dim": 32,
    "embedding_dim": 64,
    "num_blocks": 1,
    "num_heads": 4,
    "decoder_hidden_dim": 32,
    "vmf_kappa": 8000.0,
    "max_geometry_dim": 2,
    "embedding_normalization": "L2 unit sphere",
    "paper_model": {
      "precision_dim": 128,
      "time_dim": 512,
      "space_dim": 1024,
      "embedding_dim": 64,
      "num_blocks": 15,
      "parameter_count": "approximately 480M"
    }
  },
  "data": {
    "datasets": [
      "Google Satellite Embedding V1 Annual"
    ],
    "protocol": "aef_synthetic_paper_spec_v3",
    "format": "NPZ",
    "train_file": "data/train.npz",
    "test_file": "data/test.npz",
    "image_size": 128,
    "spatial_extent_km": [
      1.28,
      1.28
    ],
    "grid_resolution_m": 10,
    "input_sources": {
      "sentinel2": {
        "timesteps": 65,
        "channels": 5,
        "geometry_dim": 0
      },
      "sentinel1": {
        "timesteps": 17,
        "channels": 5,
        "geometry_dim": 2
      },
      "landsat": {
        "timesteps": 21,
        "channels": 7,
        "geometry_dim": 0
      }
    },
    "target_sources": {
      "sentinel2": {"channels": 5, "type": "continuous", "loss_grid_m": 10},
      "sentinel1": {"channels": 5, "type": "continuous", "loss_grid_m": 10},
      "landsat": {"channels": 7, "type": "continuous", "loss_grid_m": 30},
      "palsar2": {"channels": 3, "type": "continuous", "loss_grid_m": 30},
      "era5_land": {"channels": 12, "type": "continuous", "loss_grid_m": 10},
      "gedi": {"channels": 101, "type": "continuous", "loss_grid_m": 20},
      "grace": {"channels": 1, "type": "continuous", "loss_grid_m": 1280},
      "glo30": {"channels": 1, "type": "continuous", "loss_grid_m": 30},
      "nlcd": {"channels": 16, "type": "categorical", "loss_grid_m": 30}
    },
    "required_metadata": [
      "format_version",
      "data_source",
      "timestamps",
      "frame_available",
      "channel_available",
      "pixel_valid",
      "geometry",
      "support_period",
      "valid_period",
      "text_target"
    ]
  },
  "configuration_sources": [
    "conf/config.yaml",
    "model/alphaearthfoundations.py",
    "scripts/fake_data.py",
    "scripts/train.py",
    "scripts/inference.py",
    "scripts/result.py"
  ]
}