Skip to content

Lightning refactor #584

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 10 commits into
base: sar_integration
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion configs/dofa_config_RGB.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ trainer:
precision: "16-mixed"
sync_batchnorm: true
logger:
class_path: lightning.pytorch.loggers.mlflow.MLFlowLogger
class_path: tools.loggers.overrideStepEpochsMlflowLogger.OverrideStepEpochsMlflowLogger
init_args:
save_dir: /home/valhassa/Projects/geo-deep-learning/logs
log_model: all
Expand All @@ -39,6 +39,9 @@ trainer:
data_type_max: ${data.init_args.data_type_max}
num_classes: ${model.init_args.num_classes}
class_colors: ${model.init_args.class_colors}
- class_path: tools.callbacks.overrideEpochStepsCallback.OverrideEpochStepCallback
init_args:
override: true
max_epochs: 10

model:
Expand Down
115 changes: 115 additions & 0 deletions configs/hrnet_ocr_config_SAR.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
seed_everything: true

trainer:
accelerator: "gpu"
devices: -1
strategy: ddp
precision: "16-mixed"
sync_batchnorm: true
logger:
class_path: tools.loggers.overrideStepEpochsMlflowLogger.OverrideStepEpochsMlflowLogger
init_args:
save_dir: /gpfs/fs5/nrcan/nrcan_geobase/work/transfer/work/deep_learning/DA_SAR_FLOOD/sar_water_extraction/mlruns
log_model: all
experiment_name: "lovasz"
run_name: "hrnet_ocr_rgb"
callbacks:
- class_path: lightning.pytorch.callbacks.EarlyStopping
init_args:
monitor: "val_loss"
mode: "min"
verbose: False
patience: 20
- class_path: lightning.pytorch.callbacks.ModelCheckpoint
init_args:
monitor: "val_loss"
mode: "min"
save_top_k: 1
filename: "model-{epoch:02d}-{val_loss:.3f}"
- class_path: tools.callbacks.segmentation_visualization.VisualizationCallback
init_args:
max_samples: 15
mean: ${data.init_args.mean}
std: ${data.init_args.std}
data_type_max: ${data.init_args.data_type_max}
num_classes: ${model.init_args.num_classes}
class_colors: ${model.init_args.class_colors}
- class_path: tools.callbacks.overrideEpochStepsCallback.OverrideEpochStepCallback
init_args:
override: true
max_epochs: 200

model:
class_path: tasks_with_models.segmentation_hrnet_ocr.SegmentationHRnet
init_args:
in_channels: 5
max_samples: 15
num_classes: 2
mean: ${data.init_args.mean}
std: ${data.init_args.std}
data_type_max: ${data.init_args.data_type_max}
# loss:
# class_path: segmentation_models_pytorch.losses.LovaszLoss
# init_args:
# ignore_index: 255
# mode: "binary"
# per_image: true
# loss:
# class_path: segmentation_models_pytorch.losses.DiceLoss
# init_args:
# ignore_index: 255
# mode: "binary"
loss:
class_path: segmentation_models_pytorch.losses.SoftBCEWithLogitsLoss
init_args:
ignore_index: 255
# weight: "${tensor: [10]}"
lr: 1e-6
class_weight: 2
optimizer:
class_path: torch.optim.Adam
init_args:
lr: 1e-6
scheduler:
class_path: torch.optim.lr_scheduler.ReduceLROnPlateau
init_args:
mode: "min"
factor: 0.5
patience: 10
cooldown: 1
min_lr: 1e-10
scheduler_config:
interval: "epoch"
frequency: 1
monitor: "val_loss"
weight_decay: 4e-5
class_labels: ["background", "water"]
class_colors: ["#000000", "#0000FF"]
weights_from_checkpoint_path: null

data:
class_path: datamodules.SAR_FloodAsWaterDataModule.SarWaterNonGeoDataModule
init_args:
batch_size: 32
num_workers: 8
data_type_max: 1
noData: 255
patch_size:
- 512
- 512
mean:
- 0.485
- 0.456
- 0.406
- 0.0
- 0.0
std:
- 0.229
- 0.224
- 0.225
- 1.0
- 1.0
csv_root_folder: /gpfs/fs5/nrcan/nrcan_geobase/work/transfer/work/deep_learning/DA_SAR_FLOOD/sar_water_extraction/data/datasets/Sentinel/patches/Sentinel
patches_root_folder: /gpfs/fs5/nrcan/nrcan_geobase/work/transfer/work/deep_learning/DA_SAR_FLOOD/sar_water_extraction/data/datasets/Sentinel/patches/Sentinel

ckpt_path: null
5 changes: 4 additions & 1 deletion configs/segformer_config_RGB.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ trainer:
precision: "16-mixed"
sync_batchnorm: true
logger:
class_path: lightning.pytorch.loggers.mlflow.MLFlowLogger
class_path: tools.loggers.overrideStepEpochsMlflowLogger.OverrideStepEpochsMlflowLogger
init_args:
save_dir: /home/valhassa/Projects/geo-deep-learning/logs
log_model: all
Expand All @@ -40,6 +40,9 @@ trainer:
data_type_max: ${data.init_args.data_type_max}
num_classes: ${model.init_args.num_classes}
class_colors: ${model.init_args.class_colors}
- class_path: tools.callbacks.overrideEpochStepsCallback.OverrideEpochStepCallback
init_args:
override: true
max_epochs: 10

model:
Expand Down
118 changes: 118 additions & 0 deletions configs/unet_config_SAR.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
seed_everything: true

trainer:
accelerator: "gpu"
devices: -1
strategy: ddp
precision: "bf16-mixed"
gradient_clip_val: 1.0
sync_batchnorm: true
logger:
class_path: tools.loggers.overrideStepEpochsMlflowLogger.OverrideStepEpochsMlflowLogger
init_args:
save_dir: /gpfs/fs5/nrcan/nrcan_geobase/work/transfer/work/deep_learning/DA_SAR_FLOOD/sar_water_extraction/mlruns
log_model: all
experiment_name: "RCM_ARD"
run_name: "R2Unet_BCE_Jaccard_${model.init_args.alpha}_OneCycle_AdamW_noDem"
callbacks:
# - class_path: lightning.pytorch.callbacks.EarlyStopping
# init_args:
# monitor: "val_loss"
# mode: "min"
# verbose: False
# patience: 40
# check_on_train_epoch_end: False
# log_rank_zero_only: True
- class_path: lightning.pytorch.callbacks.ModelCheckpoint
init_args:
monitor: "val_loss"
mode: "min"
save_top_k: 1
filename: "model-{epoch:02d}-{val_loss:.3f}"
- class_path: tools.callbacks.segmentation_visualization.VisualizationCallback
init_args:
max_samples: 15
mean: ${data.init_args.mean}
std: ${data.init_args.std}
data_type_max: ${data.init_args.data_type_max}
num_classes: ${model.init_args.num_classes}
class_colors: ${model.init_args.class_colors}
- class_path: tools.callbacks.overrideEpochStepsCallback.OverrideEpochStepCallback
init_args:
override: true
max_epochs: 200

model:
class_path: tasks_with_models.segmentation_unet.SegmentationUnet
init_args:
encoder: "resnet50"
weights: null
in_channels: 4
max_samples: 50
num_classes: 2
alpha: 0.5
mean: ${data.init_args.mean}
std: ${data.init_args.std}
data_type_max: ${data.init_args.data_type_max}
lr: 1e-4
optimizer:
class_path: torch.optim.AdamW
init_args:
lr: 1e-4
weight_decay: 1e-5
# scheduler:
# class_path: torch.optim.lr_scheduler.ReduceLROnPlateau
# init_args:
# mode: "min"
# factor: 0.5
# patience: 15
# cooldown: 1
# min_lr: 1e-6
scheduler_config:
interval: "epoch"
frequency: 1
monitor: "val_loss"
weight_decay: 1e-5
class_labels: ["background", "water"]
class_colors: ["#000000", "#0000FF"]
weights_from_checkpoint_path:
data:
class_path: datamodules.SAR_FloodAsWaterDataModule.SarWaterNonGeoDataModule
init_args:
batch_size: 8
num_workers: 8
data_type_max: 1
noData: 255
band_indices: [0, 1, 2, 3]
patch_size:
- 512
- 512
# 5x
# mean:
# - 0.4321
# - 0.4111
# - 0.2926
# - 0.1717
# - 0.2255
# std:
# - 0.2738
# - 0.2527
# - 0.1968
# - 0.1339
# - 0.1349
mean:
- 0.4393
- 0.4176
- 0.2882
- 0.1717
# - 0.2298
std:
- 0.2719
- 0.2511
- 0.1931
- 0.1333
# - 0.1340
csv_root_folder: /gpfs/fs5/nrcan/nrcan_geobase/work/transfer/work/deep_learning/DA_SAR_FLOOD/sar_water_extraction/data/datasets/RCM_ARD/patches/RCM_ARD
patches_root_folder: /gpfs/fs5/nrcan/nrcan_geobase/work/transfer/work/deep_learning/DA_SAR_FLOOD/sar_water_extraction/data/datasets/RCM_ARD/patches/RCM_ARD

ckpt_path: null
5 changes: 4 additions & 1 deletion configs/unetplus_config_RGB.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ trainer:
precision: "16-mixed"
sync_batchnorm: true
logger:
class_path: lightning.pytorch.loggers.mlflow.MLFlowLogger
class_path: tools.loggers.overrideStepEpochsMlflowLogger.OverrideStepEpochsMlflowLogger
init_args:
save_dir: /home/valhassa/Projects/geo-deep-learning/logs
log_model: all
Expand All @@ -34,6 +34,9 @@ trainer:
data_type_max: ${data.init_args.data_type_max}
num_classes: ${model.init_args.num_classes}
class_colors: ${model.init_args.class_colors}
- class_path: tools.callbacks.overrideEpochStepsCallback.OverrideEpochStepCallback
init_args:
override: true
max_epochs: 150

model:
Expand Down
Loading