Module containing learning decay rate types and procedures
Interface for base learning rate decay type
Set up base learning rate decay type
Base learning rate decay type
Interface for exponential learning rate decay type
Set up exponential learning rate decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | optional | :: | decay_rate |
Decay rate for learning rate |
Exponential learning rate decay type
Interface for inverse learning rate decay type
Set up inverse learning rate decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | optional | :: | decay_rate |
Decay rate for learning rate |
|
| real(kind=real32), | intent(in), | optional | :: | decay_power |
Decay rate for learning rate |
Inverse learning rate decay type
Interface for step learning rate decay type
Set up step learning rate decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | optional | :: | decay_rate |
Decay rate for learning rate |
|
| integer, | intent(in), | optional | :: | decay_steps |
Number of steps for learning rate decay |
Step learning rate decay type
Type for learning rate decay
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real32), | public | :: | decay_rate |
Decay rate for learning rate |
|||
| real(kind=real32), | public | :: | initial_learning_rate |
Initial learning rate |
|||
| logical, | public | :: | iterate_per_epoch | = | .false. |
Whether to iterate learning rate decay per epoch |
|
| character(len=20), | public | :: | name |
Name of the learning rate decay type |
Interface for base learning rate decay type
| private module function setup_lr_decay_base () | Set up base learning rate decay type |
| procedure, public :: get_lr => lr_decay_none | Procedure to get the learning rate |
Type for exponential learning rate decay
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real32), | public | :: | decay_rate |
Decay rate for learning rate |
|||
| real(kind=real32), | public | :: | initial_learning_rate |
Initial learning rate |
|||
| logical, | public | :: | iterate_per_epoch | = | .false. |
Whether to iterate learning rate decay per epoch |
|
| character(len=20), | public | :: | name |
Name of the learning rate decay type |
Interface for exponential learning rate decay type
| private module function setup_lr_decay_exp (decay_rate) | Set up exponential learning rate decay type |
| procedure, public :: get_lr => lr_decay_exp | Procedure to get the learning rate |
Type for inverse learning rate decay
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real32), | public | :: | decay_power |
Power for learning rate decay |
|||
| real(kind=real32), | public | :: | decay_rate |
Decay rate for learning rate |
|||
| real(kind=real32), | public | :: | initial_learning_rate |
Initial learning rate |
|||
| logical, | public | :: | iterate_per_epoch | = | .false. |
Whether to iterate learning rate decay per epoch |
|
| character(len=20), | public | :: | name |
Name of the learning rate decay type |
Interface for inverse learning rate decay type
| private module function setup_lr_decay_inv (decay_rate, decay_power) | Set up inverse learning rate decay type |
| procedure, public :: get_lr => lr_decay_inv | Procedure to get the learning rate |
Type for step learning rate decay
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real32), | public | :: | decay_rate |
Decay rate for learning rate |
|||
| integer, | public | :: | decay_steps |
Number of steps for learning rate decay |
|||
| real(kind=real32), | public | :: | initial_learning_rate |
Initial learning rate |
|||
| logical, | public | :: | iterate_per_epoch | = | .false. |
Whether to iterate learning rate decay per epoch |
|
| character(len=20), | public | :: | name |
Name of the learning rate decay type |
Interface for step learning rate decay type
| private module function setup_lr_decay_step (decay_rate, decay_steps) | Set up step learning rate decay type |
| procedure, public :: get_lr => lr_decay_step | Procedure to get the learning rate |
Get the learning rate for the exponential decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(exp_lr_decay_type), | intent(in) | :: | this |
Instance of the exponential learning rate decay type |
||
| real(kind=real32), | intent(in) | :: | learning_rate |
Initial learning rate |
||
| integer, | intent(in) | :: | iteration |
Iteration number |
Learning rate
Get the learning rate for the inverse decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(inv_lr_decay_type), | intent(in) | :: | this |
Instance of the inverse learning rate decay type |
||
| real(kind=real32), | intent(in) | :: | learning_rate |
Initial learning rate |
||
| integer, | intent(in) | :: | iteration |
Iteration number |
Learning rate
Get the learning rate for the base decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(base_lr_decay_type), | intent(in) | :: | this |
Instance of the base learning rate decay type |
||
| real(kind=real32), | intent(in) | :: | learning_rate |
Initial learning rate |
||
| integer, | intent(in) | :: | iteration |
Iteration number |
Learning rate
Get the learning rate for the step decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(step_lr_decay_type), | intent(in) | :: | this |
Instance of the step learning rate decay type |
||
| real(kind=real32), | intent(in) | :: | learning_rate |
Initial learning rate |
||
| integer, | intent(in) | :: | iteration |
Iteration number |
Learning rate
Set up base learning rate decay type
Instance of the base learning rate decay type
Set up exponential learning rate decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | optional | :: | decay_rate |
Decay rate for learning rate |
Exponential learning rate decay type
Set up inverse learning rate decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | optional | :: | decay_rate |
Decay rate for learning rate |
|
| real(kind=real32), | intent(in), | optional | :: | decay_power |
Decay rate for learning rate |
Inverse learning rate decay type
Set up step learning rate decay type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | optional | :: | decay_rate |
Decay rate for learning rate |
|
| integer, | intent(in), | optional | :: | decay_steps |
Number of steps for learning rate decay |
Step learning rate decay type