athena__diffstruc_extd_loss_submodule Submodule

Submodule containing implementations for extended diffstruc array operations


Uses


Functions

function get_partial_huber(this, upstream_grad) result(output)

Get partial derivative of huber loss

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_huber_val(this, upstream_grad, output)

Get partial derivative of huber loss (in-place version)

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 huber_array(delta, gamma) result(output)

Huber loss function

Arguments

Type IntentOptional Attributes Name
class(array_type), intent(in), target :: delta
real(kind=real32), intent(in) :: gamma

Return Value type(array_type), pointer