-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
1,807 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,271 @@ | ||
model: | ||
class_path: rslearn.train.lightning_module.RslearnLightningModule | ||
init_args: | ||
model: | ||
class_path: rslearn.models.multitask.MultiTaskModel | ||
init_args: | ||
encoder: | ||
- class_path: rslearn.models.simple_time_series.SimpleTimeSeries | ||
init_args: | ||
encoder: | ||
class_path: rslearn.models.swin.Swin | ||
init_args: | ||
pretrained: true | ||
input_channels: 11 | ||
output_layers: [1, 3, 5, 7] | ||
image_channels: 11 | ||
- class_path: rslearn.models.fpn.Fpn | ||
init_args: | ||
in_channels: [128, 256, 512, 1024] | ||
out_channels: 128 | ||
decoders: | ||
detect: | ||
- class_path: rslearn.models.faster_rcnn.FasterRCNN | ||
init_args: | ||
downsample_factors: [4, 8, 16, 32] | ||
num_channels: 128 | ||
num_classes: 2 | ||
anchor_sizes: [[32], [64], [128], [256]] | ||
lr: 0.00002 | ||
plateau: true | ||
plateau_factor: 0.2 | ||
plateau_patience: 2 | ||
plateau_min_lr: 0 | ||
plateau_cooldown: 10 | ||
restore_config: | ||
restore_path: https://ai2-public-datasets.s3.amazonaws.com/satlas/satlas-model-v1-lowres-band-multi.pth | ||
remap_prefixes: | ||
- ["backbone.backbone.backbone.", "encoder.0.encoder.model."] | ||
ignore_prefixes: | ||
- "backbone.backbone.backbone.features.0.0." | ||
data: | ||
class_path: rslearn.train.data_module.RslearnDataModule | ||
init_args: | ||
path: gs://rslearn-eai/datasets/wind_turbine/dataset_v1/20241212/ | ||
inputs: | ||
image1: | ||
data_type: "raster" | ||
layers: ["sentinel2"] | ||
bands: ["B04", "B03", "B02", "B05", "B06", "B07", "B08", "B11", "B12"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
image2: | ||
data_type: "raster" | ||
layers: ["sentinel2.1"] | ||
bands: ["B04", "B03", "B02", "B05", "B06", "B07", "B08", "B11", "B12"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
image3: | ||
data_type: "raster" | ||
layers: ["sentinel2.2"] | ||
bands: ["B04", "B03", "B02", "B05", "B06", "B07", "B08", "B11", "B12"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
image4: | ||
data_type: "raster" | ||
layers: ["sentinel2.3"] | ||
bands: ["B04", "B03", "B02", "B05", "B06", "B07", "B08", "B11", "B12"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
image5: | ||
data_type: "raster" | ||
layers: ["sentinel2.4"] | ||
bands: ["B04", "B03", "B02", "B05", "B06", "B07", "B08", "B11", "B12"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
image6: | ||
data_type: "raster" | ||
layers: ["sentinel2.5"] | ||
bands: ["B04", "B03", "B02", "B05", "B06", "B07", "B08", "B11", "B12"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
sar1: | ||
data_type: "raster" | ||
layers: ["sentinel1"] | ||
bands: ["vv", "vh"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
sar2: | ||
data_type: "raster" | ||
layers: ["sentinel1.1"] | ||
bands: ["vv", "vh"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
sar3: | ||
data_type: "raster" | ||
layers: ["sentinel1.2"] | ||
bands: ["vv", "vh"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
sar4: | ||
data_type: "raster" | ||
layers: ["sentinel1.3"] | ||
bands: ["vv", "vh"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
sar5: | ||
data_type: "raster" | ||
layers: ["sentinel1.4"] | ||
bands: ["vv", "vh"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
sar6: | ||
data_type: "raster" | ||
layers: ["sentinel1.5"] | ||
bands: ["vv", "vh"] | ||
passthrough: true | ||
dtype: FLOAT32 | ||
mask: | ||
data_type: "raster" | ||
layers: ["mask"] | ||
bands: ["mask"] | ||
passthrough: true | ||
dtype: INT32 | ||
is_target: true | ||
targets: | ||
data_type: "vector" | ||
layers: ["label"] | ||
is_target: true | ||
task: | ||
class_path: rslearn.train.tasks.multi_task.MultiTask | ||
init_args: | ||
tasks: | ||
detect: | ||
class_path: rslearn.train.tasks.detection.DetectionTask | ||
init_args: | ||
property_name: "category" | ||
classes: ["unknown", "turbine"] | ||
box_size: 15 | ||
remap_values: [[0, 1], [0, 255]] | ||
image_bands: [2, 1, 0] | ||
exclude_by_center: true | ||
enable_map_metric: true | ||
enable_f1_metric: true | ||
f1_metric_kwargs: | ||
cmp_mode: "distance" | ||
cmp_threshold: 15 | ||
flatten_classes: true | ||
input_mapping: | ||
detect: | ||
targets: "targets" | ||
batch_size: 8 | ||
num_workers: 32 | ||
default_config: | ||
transforms: | ||
- class_path: rslearn.train.transforms.normalize.Normalize | ||
init_args: | ||
mean: 0 | ||
std: 10000 | ||
valid_range: [0, 1] | ||
selectors: ["image1", "image2", "image3", "image4", "image5", "image6"] | ||
- class_path: rslearn.train.transforms.concatenate.Concatenate | ||
init_args: | ||
selections: | ||
image1: [] | ||
sar1: [] | ||
image2: [] | ||
sar2: [] | ||
image3: [] | ||
sar3: [] | ||
image4: [] | ||
sar4: [] | ||
image5: [] | ||
sar5: [] | ||
image6: [] | ||
sar6: [] | ||
output_selector: image | ||
- class_path: rslp.transforms.mask.Mask | ||
train_config: | ||
patch_size: 384 | ||
transforms: | ||
- class_path: rslearn.train.transforms.normalize.Normalize | ||
init_args: | ||
mean: 0 | ||
std: 10000 | ||
valid_range: [0, 1] | ||
selectors: ["image1", "image2", "image3", "image4", "image5", "image6"] | ||
- class_path: rslearn.train.transforms.concatenate.Concatenate | ||
init_args: | ||
selections: | ||
image1: [] | ||
sar1: [] | ||
image2: [] | ||
sar2: [] | ||
image3: [] | ||
sar3: [] | ||
image4: [] | ||
sar4: [] | ||
image5: [] | ||
sar5: [] | ||
image6: [] | ||
sar6: [] | ||
output_selector: image | ||
- class_path: rslp.transforms.mask.Mask | ||
- class_path: rslearn.train.transforms.flip.Flip | ||
init_args: | ||
image_selectors: ["image"] | ||
box_selectors: ["target/detect"] | ||
groups: ["label", "naip"] | ||
tags: | ||
split: train | ||
val_config: | ||
patch_size: 384 | ||
groups: ["label", "naip"] | ||
tags: | ||
split: val | ||
test_config: | ||
patch_size: 384 | ||
groups: ["label", "naip"] | ||
tags: | ||
split: val | ||
predict_config: | ||
groups: ["predict"] | ||
load_all_patches: true | ||
skip_targets: true | ||
patch_size: 512 | ||
transforms: | ||
- class_path: rslearn.train.transforms.normalize.Normalize | ||
init_args: | ||
mean: 0 | ||
std: 10000 | ||
valid_range: [0, 1] | ||
selectors: ["image1", "image2", "image3", "image4", "image5", "image6"] | ||
- class_path: rslearn.train.transforms.concatenate.Concatenate | ||
init_args: | ||
selections: | ||
image1: [] | ||
sar1: [] | ||
image2: [] | ||
sar2: [] | ||
image3: [] | ||
sar3: [] | ||
image4: [] | ||
sar4: [] | ||
image5: [] | ||
sar5: [] | ||
image6: [] | ||
sar6: [] | ||
output_selector: image | ||
trainer: | ||
max_epochs: 500 | ||
callbacks: | ||
- class_path: lightning.pytorch.callbacks.LearningRateMonitor | ||
init_args: | ||
logging_interval: "epoch" | ||
- class_path: rslearn.train.prediction_writer.RslearnWriter | ||
init_args: | ||
path: gs://rslearn-eai/datasets/wind_turbine/dataset_v1/20241212/ | ||
output_layer: output | ||
selector: ["detect"] | ||
- class_path: lightning.pytorch.callbacks.ModelCheckpoint | ||
init_args: | ||
save_top_k: 1 | ||
save_last: true | ||
monitor: val_detect/mAP | ||
mode: max | ||
- class_path: rslearn.train.callbacks.freeze_unfreeze.FreezeUnfreeze | ||
init_args: | ||
module_selector: ["model", "encoder", 0, "encoder", "model"] | ||
unfreeze_at_epoch: 2 | ||
rslp_project: satlas_wind_turbine | ||
rslp_experiment: data_20241212_satlaspretrainold_patch384_00 |
Oops, something went wrong.