Skip to content

Commit

Permalink
Make the same config with OTX1.x : Edit the default factor for lr sch…
Browse files Browse the repository at this point in the history
…eduler and update warmup_step logic (#3060)

* Edit the default factor for lr scheduler and update warmup_step logic

* Edit the warmup logic, update the lr shceduler patience

* Fix unit tests

* Fix the logic

* Fix the logic

* Fix precommit
  • Loading branch information
sungmanc authored Mar 11, 2024
1 parent 25fc3e1 commit ec68bac
Show file tree
Hide file tree
Showing 55 changed files with 93 additions and 88 deletions.
8 changes: 6 additions & 2 deletions src/otx/algo/callbacks/adaptive_train_scheduling.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,11 @@ def _revert_patience(lr_scheduler: LRSchedulerTypeUnion, saved_patience: int) ->
if hasattr(config, "scheduler") and hasattr(config.scheduler, "patience"):
saved_patience = config.scheduler.patience
adjusted_patience = (
max(int(config.scheduler.patience / adaptive_interval), self.min_lrschedule_patience) - 1
max(
int((config.scheduler.patience + 1) / adaptive_interval),
self.min_lrschedule_patience,
)
- 1
)
config.scheduler.patience = adjusted_patience

Expand All @@ -133,7 +137,7 @@ def _revert_patience(lr_scheduler: LRSchedulerTypeUnion, saved_patience: int) ->
f"{saved_patience} --> {adjusted_patience}."
)
log.warning(msg)
self._revert_lr_patience += [partial(_revert_patience, config, saved_patience)]
self._revert_lr_patience += [partial(_revert_patience, config.scheduler, saved_patience)]

def _change_early_stopping_patience(self, callbacks: list[Callback], adaptive_interval: int) -> None:
"""Change the EarlyStopping patience to change the patience.
Expand Down
4 changes: 2 additions & 2 deletions src/otx/algo/schedulers/warmup_schedulers.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ def __init__(
raise ValueError(msg)
self.num_warmup_steps = num_warmup_steps
self.interval = interval
super().__init__(optimizer, lambda step: min(step / num_warmup_steps, 1.0))
super().__init__(optimizer, lambda step: min((step + 1.0) / self.num_warmup_steps, 1.0))

def step(self, epoch: int | None = None) -> None:
"""Overriding the step to disable the warmup scheduler after n_steps."""
if self._step_count < self.num_warmup_steps:
if self._step_count <= self.num_warmup_steps:
super().step(epoch)
4 changes: 2 additions & 2 deletions src/otx/recipe/action/action_classification/x3d.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 2
factor: 0.1
patience: 1
monitor: val/accuracy

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/action/action_detection/x3d_fastrcnn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 2
factor: 0.1
patience: 1
monitor: val/map_50

metric:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: min
factor: 0.5
factor: 0.1
patience: 1
monitor: train/loss

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: min
factor: 0.5
factor: 0.1
patience: 1
monitor: train/loss

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ scheduler:
init_args:
mode: min
factor: 0.1
patience: 10
patience: 9
monitor: train/loss

metric:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: min
factor: 0.5
factor: 0.1
patience: 1
monitor: train/loss

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ scheduler:
class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: min
factor: 0.5
factor: 0.1
patience: 1
monitor: train/loss

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
factor: 0.1
patience: 1
monitor: val/accuracy

Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/atss_mobilenetv2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/atss_mobilenetv2_tile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/atss_r50_fpn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/atss_resnext101.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
2 changes: 1 addition & 1 deletion src/otx/recipe/detection/openvino_model.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ scheduler:
init_args:
mode: min
factor: 0.1
patience: 10
patience: 9
monitor: train/loss

engine:
Expand Down
2 changes: 1 addition & 1 deletion src/otx/recipe/detection/rtmdet_tiny.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ scheduler:
init_args:
mode: min
factor: 0.1
patience: 10
patience: 9
monitor: train/loss

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/ssd_mobilenetv2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/ssd_mobilenetv2_tile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/yolox_l.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/yolox_l_tile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/yolox_s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/yolox_s_tile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/yolox_tiny.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/yolox_tiny_tile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
4 changes: 2 additions & 2 deletions src/otx/recipe/detection/yolox_x.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ scheduler:
- class_path: lightning.pytorch.cli.ReduceLROnPlateau
init_args:
mode: max
factor: 0.5
patience: 5
factor: 0.1
patience: 4
monitor: val/map_50

metric:
Expand Down
Loading

0 comments on commit ec68bac

Please sign in to comment.