Get the default initialiser based on the activation function
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | activation |
Activation function |
||
| logical, | intent(in), | optional | :: | is_bias |
Boolean whether initialiser is for bias |
function get_default_initialiser(activation, is_bias) result(name) !! Get the default initialiser based on the activation function implicit none ! Arguments character(*), intent(in) :: activation !! Activation function logical, optional, intent(in) :: is_bias !! Boolean whether initialiser is for bias character(:), allocatable :: name !--------------------------------------------------------------------------- ! If bias, use default initialiser of zero !--------------------------------------------------------------------------- if(present(is_bias))then if(is_bias) name = "zeros" return end if !--------------------------------------------------------------------------- ! Set default initialiser based on activation !--------------------------------------------------------------------------- if(trim(activation).eq."selu")then name = "lecun_normal" elseif(index(activation,"elu").ne.0)then name = "he_uniform" elseif(trim(activation).eq."batch")then name = "gaussian" else name = "glorot_uniform" end if end function get_default_initialiser