clinicadl.optim.lr_schedulers.config.OneCycleLRConfig¶
- clinicadl.optim.lr_schedulers.config.OneCycleLRConfig[source]¶
Config class for
torch.optim.lr_scheduler.OneCycleLR.Some parameters accept a dictionary in case you defined several parameter groups in your
optimizer configuration class. Use the same group names as the ones passed to the optimizer to specify different values for each group.Examples
from clinicadl.networks.nn import CNN network = CNN( in_shape=(1, 16, 16, 16), num_outputs=1, conv_args={"channels": [2, 4]}, )
>>> network CNN( (convolutions): ConvEncoder( (layer0): Convolution( (conv): Conv3d(1, 2, kernel_size=(3, 3, 3), stride=(1, 1, 1)) ) ) (mlp): MLP( (flatten): Flatten(start_dim=1, end_dim=-1) (output): Sequential( (linear): Linear(in_features=5488, out_features=1, bias=True) ) ) )
from clinicadl.optim.optimizers.config import AdamConfig from clinicadl.optim.lr_schedulers.config import OneCycleLRConfig optimizer_config = AdamConfig( rho={"convolutions.layer0": 0.99, "ELSE": 0.9} ) lr_scheduler_config = OneCycleLRConfig( max_lr={"convolutions.layer0": 1e-2, "ELSE": 1e-3} )
The optimizer is not passed here.
-
parameter max_lr:
Union[PositiveFloat,Sequence[PositiveFloat],Dict[str,PositiveFloat]] [Required]¶
-
parameter total_steps:
Optional[PositiveInt] = None¶
-
parameter epochs:
Optional[PositiveInt] = None¶
-
parameter steps_per_epoch:
Optional[PositiveInt] = None¶
-
parameter pct_start:
NonNegativeFloat= 0.3¶
-
parameter anneal_strategy:
AnnealingStrategy= 'cos'¶
-
parameter base_momentum:
Union[NonNegativeFloat,Sequence[NonNegativeFloat],Dict[str,NonNegativeFloat]] = 0.85¶
-
parameter max_momentum:
Union[NonNegativeFloat,Sequence[NonNegativeFloat],Dict[str,NonNegativeFloat]] = 0.95¶
-
parameter div_factor:
PositiveFloat= 25.0¶
-
parameter final_div_factor:
PositiveFloat= 10000.0¶
-
parameter max_lr: