Submodule containing implementations for extended diffstruc array operations
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(array_type), | intent(inout) | :: | this | |||
| type(array_type), | intent(in) | :: | upstream_grad |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(array_type), | intent(inout) | :: | this | |||
| type(array_type), | intent(in) | :: | upstream_grad |
Get partial derivative wrt input for batchnorm (subroutine version)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(array_type), | intent(in) | :: | this | |||
| real(kind=real32), | intent(in), | dimension(:,:) | :: | upstream_grad | ||
| real(kind=real32), | intent(out), | dimension(:,:) | :: | output |
Get partial derivative wrt params for batchnorm (subroutine version)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(array_type), | intent(in) | :: | this | |||
| real(kind=real32), | intent(in), | dimension(:,:) | :: | upstream_grad | ||
| real(kind=real32), | intent(out), | dimension(:,:) | :: | output |
Batch normalisation operation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(array_type), | intent(in), | target | :: | input | ||
| class(array_type), | intent(in), | target | :: | params | ||
| real(kind=real32), | intent(in) | :: | momentum | |||
| real(kind=real32), | intent(in), | dimension(:) | :: | mean | ||
| real(kind=real32), | intent(in), | dimension(:) | :: | variance | ||
| real(kind=real32), | intent(in) | :: | epsilon |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(array_type), | intent(in), | target | :: | input | ||
| class(array_type), | intent(in), | target | :: | params | ||
| real(kind=real32), | intent(in), | dimension(:) | :: | mean | ||
| real(kind=real32), | intent(in), | dimension(:) | :: | variance | ||
| real(kind=real32), | intent(in) | :: | epsilon |