athena__diffstruc_extd_submodule_merge Submodule

Submodule containing implementations for extended diffstruc array operations


Uses


Functions

function get_partial_merge_scalar_over_channels(this, upstream_grad) result(output)

Arguments

Type IntentOptional Attributes Name
class(array_type), intent(inout) :: this
type(array_type), intent(in) :: upstream_grad

Return Value type(array_type)


Subroutines

pure subroutine get_partial_merge_scalar_over_channels_val(this, upstream_grad, output)

Arguments

Type IntentOptional Attributes Name
class(array_type), intent(in) :: this
real(kind=real32), intent(in), dimension(:,:) :: upstream_grad
real(kind=real32), intent(out), dimension(:,:) :: output

Module Functions

module function merge_scalar_over_channels(tsource, fsource, mask) result(output)

1D average pooling operation

Arguments

Type IntentOptional Attributes Name
class(array_type), intent(in), target :: tsource
real(kind=real32), intent(in) :: fsource
logical, intent(in), dimension(:,:) :: mask

Return Value type(array_type), pointer