The model key of the config.
| Field | Type | Required | Default | Description |
|---|
encoder | Encoder | yes | | The encoder to use for the model. This produces embeddings from preprocessed modality data for use as input to task heads. |
tasks | map of string to ModelTask | yes | | The tasks to perform with the embeddings produced by the encoder layer. Each task will produce predictions for the original inputs. |
Encoder
One of the following, selected by its name field:
ModelTask
One of the following, selected by its name field:
OlmoEarthEncoder
OlmoEarth encoder configuration.
| Field | Type | Required | Default | Description |
|---|
name | "olmoearth" | yes | | |
patch_size | integer (≥ 1, ≤ 8) | yes | | The size of the patch to use for the model |
source | OlmoEarthSource | yes | | Where to load the OlmoEarth encoder from |
output | OlmoEarthEncoderOutput | yes | | Which of the model's outputs to use as the embedding. |
use_legacy_timestamps | boolean | yes | | Feed the model dummy monthly timestamps instead of the imagery's capture times. |
token_pooling | boolean | no | true | Pool each patch's tokens over timesteps and band sets into one embedding. Set false to keep a token per timestep, for manual-task decoders that read the time series (e.g. a breakpoint scan). |
location_query_patch_size | integer (≥ 1) | no | null | Pixels per output embedding along each side, for encoders with an AttentionPooler (OlmoEarth v1.3+). Must divide patch_size; e.g. 1 gives one embedding per input pixel from patch_size 2 tokens. If omitted, the output is one embedding per patch. |
ManualEncoder
Escape hatch encoder providing raw rslearn encoder layers, e.g. OlmoEarth wrapped in SimpleTimeSeries.
Inputs are still prepared the OlmoEarth way (band order and normalization), so the layers must accept what the OlmoEarth encoder accepts. The transpiler can't look inside the layers, so the two properties the decoders depend on are declared here. A wrapped OlmoEarth loads its weights from its own init_args (a Hugging Face model_id or a path); registry foundation models aren't resolved for it.
| Field | Type | Required | Default | Description |
|---|
name | "manual" | yes | | |
encoder_layers | array of ComponentConfig (min 1 items) | yes | | The rslearn encoder layers, passed through to the model config as-is. |
patch_size | integer (≥ 1) | yes | | The factor by which the encoder's feature map is smaller than its input, e.g. the wrapped OlmoEarth patch size. |
embedding_size | integer (≥ 1) | yes | | The number of channels in the feature map the encoder hands to the decoders. A wrapper that concatenates features across groups multiplies the wrapped encoder's embedding size by the number of groups. |
SegmentationTask
PerPixelRegressionTask
ClassificationTask
RegressionTask
DetectionTask
| Field | Type | Required | Default | Description |
|---|
name | "detection" | yes | | |
decoder | DetectionDecoder | yes | | |
box_side_length | integer | no | null | When set, each annotation's geometry is replaced by a fixed box of this side length (in pixels) centered on the geometry's centroid, and that box becomes the training label. When unset, the geometry's native bounding box is used. Required for point annotations (which have degenerate bounding boxes); optional for polygons. Must be less than input_size. |
EmbeddingTask
Prediction-only task that produces encoder embeddings directly.
No decoder or training configuration -- the encoder's feature map is saved as the output via EmbeddingHead.
| Field | Type | Required | Default | Description |
|---|
name | "embedding" | yes | | |
ManualTask
Escape hatch task providing raw rslearn decoder_layers and task config.
OlmoEarthSource
One of the following, selected by its name field:
OlmoEarthEncoderOutput
Allowed values: "patch_tokens", "student_location_tokens"
ComponentConfig
A reference to an arbitrary class to be initialized: class_path + optional init_args.
| Field | Type | Required | Default | Description |
|---|
class_path | string | yes | | |
init_args | object with arbitrary keys | no | null | |
SegmentationDecoder
One of the following, selected by its name field:
PerPixelRegressionDecoder
One of the following, selected by its name field:
ClassificationDecoder
One of the following, selected by its name field:
RegressionDecoder
One of the following, selected by its name field:
DetectionDecoder
One of the following, selected by its name field:
OlmoEarthFromHuggingFace
OlmoEarth encoder loaded from HuggingFace model ID.
| Field | Type | Required | Default | Description |
|---|
name | "huggingface" | yes | | |
model_id | string | yes | | The ID of the model to use (sourced from HF) |
embedding_size | integer | no | null | The number of dimensions in the embeddings the encoder produces. If omitted, the size listed for model_id in rslearn's EMBEDDING_SIZES is used. Required when output is student_location_tokens. |
OlmoEarthFromRegistry
OlmoEarth encoder loaded from OlmoEarth's foundation model registry.
| Field | Type | Required | Default | Description |
|---|
name | "registry" | yes | | |
model_name | string | yes | | The name of the foundation model to use from OlmoEarth's registry |
embedding_size | integer | yes | | The number of dimensions in the embeddings the encoder produces. |
OlmoEarthFromModelPath
OlmoEarth encoder loaded from a model checkpoint + config path. For unpublished models. Note: the embedding size must be explicitly provided, as we have no catalog or metadata to consult.
| Field | Type | Required | Default | Description |
|---|
name | "model_path" | yes | | |
model_path | string | yes | | The path to the model checkpoint + config to use |
embedding_size | integer | yes | | The number of dimensions in the embeddings the encoder produces. |
OlmoEarthFromDistributedCheckpoint
OlmoEarth encoder loaded from distributed checkpoint files + config. For in-flight pretraining checkpoints. Note: the embedding size must be explicitly provided, as we have no catalog or metadata to consult.
| Field | Type | Required | Default | Description |
|---|
name | "distributed_checkpoint" | yes | | |
checkpoint_path | string | yes | | The path to the distributed checkpoint files + config to use |
embedding_size | integer | yes | | The number of dimensions in the embeddings the encoder produces. |
UpsampleConvSegmentationDecoder
A decoder that upsamples the embeddings using a convolutional layer before passing to a segmentation decoder head.
| Field | Type | Required | Default | Description |
|---|
name | "upsample_conv" | yes | | |
UnetSegmentationDecoder
A decoder that uses a U-Net architecture to perform segmentation.
| Field | Type | Required | Default | Description |
|---|
name | "unet" | yes | | |
conv_layers_per_resolution | integer (≥ 1) | no | 1 | Number of convolutional layers at each resolution level. |
num_channels | map of string to integer | no | null | Explicit channel counts per resolution level (e.g. {8: 512, 4: 512, 2: 256, 1: 128}). When None, rslearn auto-calculates. |
UnetPerPixelRegressionDecoder
A decoder that uses a U-Net architecture with a per-pixel regression head (single channel output).
| Field | Type | Required | Default | Description |
|---|
name | "unet" | yes | | |
conv_layers_per_resolution | integer (≥ 1) | no | 1 | Number of convolutional layers at each resolution level. |
num_channels | map of string to integer | no | null | Explicit channel counts per resolution level. When None, rslearn auto-calculates. |
PoolingClassificationDecoder
A decoder that uses global spatial pooling over encoder features followed by fully-connected layers and a classification head. Used for window-level (vector) classification tasks.
| Field | Type | Required | Default | Description |
|---|
name | "pooling" | yes | | |
PoolingRegressionDecoder
A decoder that uses global spatial pooling over encoder features followed by fully-connected layers and a regression head. Used for window-level (vector) regression tasks.
| Field | Type | Required | Default | Description |
|---|
name | "pooling" | yes | | |
FasterRCNNDetectionDecoder
A decoder that uses a Faster R-CNN architecture to perform detection + classification.
| Field | Type | Required | Default | Description |
|---|
name | "faster_rcnn" | yes | | |
anchor_sizes | array of array of integer | yes | | Anchor box sizes in input image pixels for the Region Proposal Network. Each inner list corresponds to one encoder feature map level. OlmoEarth produces a single feature map, so use one inner list, e.g. [[32]]. Set values to roughly match the expected pixel size of detectable objects. |