Research Article

A Fortran-Keras Deep Learning Bridge for Scientific Computing

Algorithm 3

Example of extending the layer_type to implement batch normalization.
! BatchNorm layer-extends from base layer_type
! Implements batch normalization
type, extends(layer_type): BatchNorm
  ! epsilon parameter
  real(rk): epsilon
contains
  procedure, public, pass(self): forward => batchnorm_forward
  procedure, public, pass(self): backward => batchnorm_backward
end type BatchNorm