get_num_params_ono Function

public pure function get_num_params_ono(this) result(num_params)

Return the number of learnable parameters for the block

Type Bound

orthogonal_nop_block_type

Arguments

Type IntentOptional Attributes Name
class(orthogonal_nop_block_type), intent(in) :: this

Layer instance

Return Value integer

Total number of learnable parameters


Source Code

  pure function get_num_params_ono(this) result(num_params)
    !! Return the number of learnable parameters for the block
    implicit none

    ! Arguments
    class(orthogonal_nop_block_type), intent(in) :: this
    !! Layer instance
    integer :: num_params
    !! Total number of learnable parameters

    ! R:     num_basis^2         (spectral mixing)
    ! B:     num_inputs * num_basis (basis weights)
    ! W_out: num_outputs * num_inputs (output projection / bypass)
    ! b:     num_outputs (optional)
    num_params = this%num_basis * this%num_basis + &
         this%num_inputs * this%num_basis + &
         this%num_outputs * this%num_inputs
    if(this%use_bias) num_params = num_params + this%num_outputs

  end function get_num_params_ono