ai4med.components.lr_policies package
-
class
DecayOnStep
(decay_ratio: float, decay_freq: int) Bases:
<a href="#ai4med.components.lr_policies.lr_policy.LRPolicy">ai4med.components.lr_policies.lr_policy.LRPolicy</a>
Reduce learning rate based on configured ratio and step frequency.
- Parameters
decay_ratio (float) – ratio of LR adjustment
decay_freq (int) – adjustment frequency in number of training steps
-
evaluate
(train_ctx: ai4med.common.train_ctx.TrainContext) Compute the new LR.
The LR is adjusted to
current_lr * ratio
every decay_freq number of steps.- Parameters
train_ctx – training context
Returns: new LR value
-
class
LRPolicy
Bases:
abc.ABC
Defines the interface for Learning Rate (LR) Policy components
-
abstract
evaluate
(train_ctx: ai4med.common.train_ctx.TrainContext) Compute the new learning rate based on information in train_ctx. This is the required method that a LRPolicy subclass must implement.
- Parameters
train_ctx – training contextual data
Returns: a new learning rate
-
abstract
-
class
ReduceCosine
(rate=0.5) Bases:
<a href="#ai4med.components.lr_policies.lr_policy.LRPolicy">ai4med.components.lr_policies.lr_policy.LRPolicy</a>
This LR policy reduces the LR based on initial LR, current epoch and total number of epochs.
- Parameters
rate (float) – rate of reduction (Default: 0.5)
-
evaluate
(train_ctx: ai4med.common.train_ctx.TrainContext) Computes the new LR value.
Implemented with the
<a href="ai4med.libs.lr_policies.html#ai4med.libs.lr_policies.cos_reducer.CosineReducer.reduce">ai4med.libs.lr_policies.cos_reducer.CosineReducer.reduce()</a>
- Parameters
train_ctx – training context
Returns: new LR value
-
class
ReduceOnPlateau
(plateau_count_trigger: int, reduction_rate: float) Bases:
<a href="#ai4med.components.lr_policies.lr_policy.LRPolicy">ai4med.components.lr_policies.lr_policy.LRPolicy</a>
Reduce LR when validation metric stops improving.
- Parameters
plateau_count_trigger (int) – length of non-improving period
reduction_rate (float) – rate of LR reduction
-
evaluate
(train_ctx: ai4med.common.train_ctx.TrainContext) Computes the new LR value.
Implemented with the ‘reduce’ method defined in the OnPlateauReducer class.
- Parameters
train_ctx – training context
Returns: new LR value
-
class
ReducePoly
(poly_power) Bases:
<a href="#ai4med.components.lr_policies.lr_policy.LRPolicy">ai4med.components.lr_policies.lr_policy.LRPolicy</a>
-
evaluate
(train_ctx: ai4med.common.train_ctx.TrainContext) Compute the new learning rate based on information in train_ctx. This is the required method that a LRPolicy subclass must implement.
- Parameters
train_ctx – training contextual data
Returns: a new learning rate
-