Initialise a SELU activation function
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | optional | :: | scale |
Optional scale factor for activation output |
|
| real(kind=real32), | intent(in), | optional | :: | alpha |
Optional alpha parameter (default: 1.67326) |
|
| real(kind=real32), | intent(in), | optional | :: | lambda |
Optional lambda parameter (default: 1.0507) |
|
| type(onnx_attribute_type), | intent(in), | optional | :: | attributes(:) |
Optional ONNX attributes |
SELU activation type
function initialise(scale, alpha, lambda, attributes) result(activation) !! Initialise a SELU activation function implicit none ! Arguments real(real32), optional, intent(in) :: scale !! Optional scale factor for activation output real(real32), optional, intent(in) :: alpha !! Optional alpha parameter (default: 1.67326) real(real32), optional, intent(in) :: lambda !! Optional lambda parameter (default: 1.0507) type(selu_actv_type) :: activation !! SELU activation type type(onnx_attribute_type), optional, intent(in) :: attributes(:) !! Optional ONNX attributes call activation%reset() if(present(scale)) activation%scale = scale if(abs(activation%scale-1._real32) .gt. 1.e-6_real32)then activation%apply_scaling = .true. end if if(present(alpha)) activation%alpha = alpha if(present(lambda)) activation%lambda = lambda if(present(attributes))then call activation%apply_attributes(attributes) end if end function initialise