FNN 1.0.0
Toolbox to use NNs in Fortran.
|
Implements a dropout layer. More...
Public Member Functions | |
procedure, pass, public | tofile => dropout_tofile |
Saves the layer. Implemented by dropout_tofile. More... | |
procedure, pass, public | apply_forward => dropout_apply_forward |
Applies and linearises the layer. Implemented by dropout_apply_forward. More... | |
procedure, pass, public | apply_tangent_linear => dropout_apply_tangent_linear |
Applies the TL of the layer. Implemented by dropout_apply_tangent_linear. More... | |
procedure, pass, public | apply_adjoint => dropout_apply_adjoint |
Applies the adjoint of the layer. Implemented by dropout_apply_adjoint. More... | |
![]() | |
procedure, pass, public | get_num_parameters => layer_get_num_parameters |
Returns the number of parameters. Implemented by layer_get_num_parameters. More... | |
procedure, pass, public | set_parameters => layer_set_parameters |
Setter for layer::parameters. Implemented by layer_set_parameters. More... | |
procedure, pass, public | get_parameters => layer_get_parameters |
Getter for layer::parameters. Implemented by layer_get_parameters. More... | |
procedure, pass, public | tofile => layer_tofile |
Saves the layer. Implemented by layer_tofile. More... | |
procedure, pass, public | apply_forward => layer_apply_forward |
Applies and linearises the layer. Implemented by layer_apply_forward. More... | |
procedure, pass, public | apply_tangent_linear => layer_apply_tangent_linear |
Applies the TL of the layer. Implemented by layer_apply_tangent_linear. More... | |
procedure, pass, public | apply_adjoint => layer_apply_adjoint |
Applies the adjoint of the layer. Implemented by layer_apply_adjoint. More... | |
Public Attributes | |
real(rk), dimension(:, :), allocatable | draws |
The storage for the linearisation. More... | |
![]() | |
integer(ik), public | input_size |
The dimension of the input of the layer. More... | |
integer(ik), public | output_size |
The dimension of the output of the layer. More... | |
integer(ik), public | batch_size |
The batch size. More... | |
integer(ik), public | num_parameters |
The number of (trainable) parameters. More... | |
class(linearactivation), allocatable, public | activation |
The activation function. More... | |
real(rk), dimension(:), allocatable, public | parameters |
The vector of (trainable) parameters. More... | |
real(rk), dimension(:, :), allocatable, public | forward_input |
The storage for the layer::apply_forward method. More... | |
real(rk), dimension(:, :), allocatable, public | tangent_linear_input |
The storage for the layer::apply_tangent_linear method. More... | |
real(rk), dimension(:, :), allocatable, public | adjoint_input |
The storage for the layer::apply_adjoint method. More... | |
Private Attributes | |
real(rk) | rate |
The dropout probability. More... | |
Implements a dropout layer.
This layer has no (trainable) parameters.
procedure, pass, public fnn_layer_dropout::dropoutlayer::apply_adjoint |
Applies the adjoint of the layer. Implemented by dropout_apply_adjoint.
procedure, pass, public fnn_layer_dropout::dropoutlayer::apply_forward |
Applies and linearises the layer. Implemented by dropout_apply_forward.
procedure, pass, public fnn_layer_dropout::dropoutlayer::apply_tangent_linear |
Applies the TL of the layer. Implemented by dropout_apply_tangent_linear.
procedure, pass, public fnn_layer_dropout::dropoutlayer::tofile |
Saves the layer. Implemented by dropout_tofile.
real(rk), dimension(:, :), allocatable fnn_layer_dropout::dropoutlayer::draws |
The storage for the linearisation.
Array of reals with shape (layer::input_size, layer::batch_size).
|
private |
The dropout probability.