forward_eval_multi Module Function

module function forward_eval_multi(this, input) result(output)

Forward pass for evaluation

Arguments

Type IntentOptional Attributes Name
class(network_type), intent(inout), target :: this

Instance of network

class(*), intent(in), dimension(:,:) :: input

Input

Return Value type(array_ptr_type), pointer, (:)

Output


Source Code

  module function forward_eval_multi(this, input) result(output)
    !! Forward pass for evaluation
    implicit none

    ! Arguments
    class(network_type), intent(inout), target :: this
    !! Instance of network
    class(*), dimension(:,:), intent(in) :: input
    !! Input

    type(array_ptr_type), pointer :: output(:)
    !! Output

    ! Local variables
    integer :: l
    !! Loop index

    call this%forward(input)
    allocate(output(size(this%leaf_vertices,1)))
    do l = 1, size(this%leaf_vertices,1)
       output(l)%array => this%model(this%leaf_vertices(l))%layer%output
    end do

  end function forward_eval_multi