Skip to content

Commit 6a32ad2

Browse files
authored
Merge pull request #544 from allenai/hadriens/burnrisk_task
New eval task: 8 day burn-risk forecast
2 parents 8f26741 + 8d708b1 commit 6a32ad2

3 files changed

Lines changed: 123 additions & 11 deletions

File tree

olmoearth_pretrain/evals/studio_ingest/registry.json

Lines changed: 110 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,115 @@
115115
"weka_path": "/weka/dfive-default/olmoearth/eval_datasets/awf_lulc_map",
116116
"window_size": 64
117117
},
118+
"burnrisk_8d_nbac": {
119+
"classes": [
120+
"0",
121+
"1"
122+
],
123+
"imputes": [],
124+
"is_multilabel": false,
125+
"modalities": [
126+
"sentinel1",
127+
"sentinel2_l2a"
128+
],
129+
"name": "burnrisk_8d_nbac",
130+
"norm_stats": {
131+
"sentinel2_l2a": {
132+
"B01": {
133+
"max": 19963.0,
134+
"mean": 2797.991553441403,
135+
"min": 0.0,
136+
"std": 3462.128374048374
137+
},
138+
"B02": {
139+
"max": 17056.0,
140+
"mean": 2742.4601498804145,
141+
"min": 0.0,
142+
"std": 3357.983085064015
143+
},
144+
"B03": {
145+
"max": 17152.0,
146+
"mean": 2766.9766015413234,
147+
"min": 0.0,
148+
"std": 3191.070943297956
149+
},
150+
"B04": {
151+
"max": 17184.0,
152+
"mean": 2720.677049800691,
153+
"min": 0.0,
154+
"std": 3164.727976467343
155+
},
156+
"B05": {
157+
"max": 16850.0,
158+
"mean": 3030.2717098060057,
159+
"min": 0.0,
160+
"std": 3132.0173541691083
161+
},
162+
"B06": {
163+
"max": 16603.0,
164+
"mean": 3382.8399415360086,
165+
"min": 0.0,
166+
"std": 2829.0052701581553
167+
},
168+
"B07": {
169+
"max": 16437.0,
170+
"mean": 3437.354116290194,
171+
"min": 0.0,
172+
"std": 2689.959382813977
173+
},
174+
"B08": {
175+
"max": 16296.0,
176+
"mean": 3559.7809055540793,
177+
"min": 0.0,
178+
"std": 2747.156814362987
179+
},
180+
"B09": {
181+
"max": 17383.0,
182+
"mean": 4172.207622110019,
183+
"min": 0.0,
184+
"std": 3629.4698043631947
185+
},
186+
"B11": {
187+
"max": 15184.0,
188+
"mean": 1905.4351294180176,
189+
"min": 0.0,
190+
"std": 1490.2586203959572
191+
},
192+
"B12": {
193+
"max": 15118.0,
194+
"mean": 1473.891998086633,
195+
"min": 0.0,
196+
"std": 1316.966842986169
197+
},
198+
"B8A": {
199+
"max": 16164.0,
200+
"mean": 3479.5087070954028,
201+
"min": 0.0,
202+
"std": 2560.063675143769
203+
}
204+
}
205+
},
206+
"num_classes": 2,
207+
"num_timesteps": 8,
208+
"source_path": "/weka/dfive-default/rslearn-eai/datasets/wildfire/canada_nbac",
209+
"split_stats": {
210+
"test": {
211+
"count": 1000
212+
},
213+
"train": {
214+
"count": 1000
215+
},
216+
"val": {
217+
"count": 500
218+
}
219+
},
220+
"split_tag_key": "eval_split",
221+
"task_type": "segmentation",
222+
"timeseries": true,
223+
"use_pretrain_norm": true,
224+
"weka_path": "/weka/dfive-default/olmoearth/eval_datasets/burnrisk_8d_nbac",
225+
"window_size": 50
226+
},
118227
"canada_wildfire_sat_eval_split": {
119228
"classes": [
120229
"0",
@@ -1142,6 +1251,6 @@
11421251
"window_size": 16
11431252
}
11441253
},
1145-
"updated_at": "2026-02-24T00:15:34.513906",
1254+
"updated_at": "2026-04-15T23:29:08.666694",
11461255
"version": "1.0"
11471256
}

olmoearth_pretrain/internal/all_evals.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -278,16 +278,16 @@ def load_user_module(path: str) -> Any:
278278
epochs=50,
279279
eval_mode=EvalMode.LINEAR_PROBE,
280280
),
281-
"canada_wildfire_sat_eval_split": DownstreamTaskConfig(
282-
dataset="canada_wildfire_sat_eval_split",
281+
"burnrisk_8d_nbac": DownstreamTaskConfig(
282+
dataset="burnrisk_8d_nbac",
283283
embedding_batch_size=32,
284284
probe_batch_size=16,
285-
patch_size=5, # TODO: This is changeable but we should know the valid sizes for inputs
286-
num_workers=2,
285+
patch_size=5,
286+
num_workers=4,
287287
pooling_type=PoolingType.MEAN,
288288
norm_stats_from_pretrained=True,
289289
norm_method=NormMethod.NORM_NO_CLIP_2_STD,
290-
probe_lr=0.1,
290+
probe_lr=0.0001,
291291
eval_interval=Duration.epochs(10),
292292
input_modalities=[Modality.SENTINEL2_L2A.name],
293293
epochs=50,

scripts/base_loop_evals/script.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""Same as official script except EVAL_TASKS.
22
3-
Only tolbi_crop, canada_wildfire_sat_eval_split, yemen_crop,
3+
Only tolbi_crop, burnrisk_8d_nbac, yemen_crop,
44
geo_ecosystem_annual_test, forest_loss_driver, nigeria_settlement,
55
nandi_crop_map, awf_lulc_map, oil_spill_detection as loop evals every 5k steps.
66
"""
@@ -29,6 +29,7 @@
2929
from olmoearth_pretrain.data.dataloader import OlmoEarthDataLoaderConfig
3030
from olmoearth_pretrain.data.dataset import OlmoEarthDatasetConfig
3131
from olmoearth_pretrain.evals.datasets.normalize import NormMethod
32+
from olmoearth_pretrain.evals.metrics import EvalMetric
3233
from olmoearth_pretrain.internal.common import (
3334
build_common_components as build_common_components_default,
3435
)
@@ -103,21 +104,23 @@
103104
epochs=50,
104105
eval_mode=EvalMode.LINEAR_PROBE,
105106
),
106-
"canada_wildfire_sat_eval_split": DownstreamTaskConfig(
107-
dataset="canada_wildfire_sat_eval_split",
107+
"burnrisk_8d_nbac": DownstreamTaskConfig(
108+
dataset="burnrisk_8d_nbac",
108109
embedding_batch_size=32,
109110
probe_batch_size=16,
110111
patch_size=5,
111-
num_workers=2,
112+
num_workers=4,
112113
pooling_type=PoolingType.MEAN,
113114
norm_stats_from_pretrained=True,
114115
norm_method=NormMethod.NORM_NO_CLIP_2_STD,
115-
probe_lr=0.1,
116+
probe_lr=0.0001,
116117
eval_interval=LOOP_EVAL_INTERVAL,
117118
input_modalities=[Modality.SENTINEL2_L2A.name],
118119
epochs=50,
119120
eval_mode=EvalMode.LINEAR_PROBE,
120121
use_dice_loss=True,
122+
primary_metric=EvalMetric.CLASS_F1,
123+
primary_metric_class=1,
121124
),
122125
"yemen_crop": DownstreamTaskConfig(
123126
dataset="yemen_crop",

0 commit comments

Comments
 (0)