| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | submodule(athena__container_layer) athena__container_layer_submodule | ||
| 2 | !! Submodule containing the implementation for the container layer | ||
| 3 | !! | ||
| 4 | !! This submodule contains the implementation of the container layer | ||
| 5 | !! which is a container for an individual layer. | ||
| 6 | !! This also provides the initialisation of the list of layer types | ||
| 7 | !! that can be used for reading layers into a network model from a file. | ||
| 8 | use athena__base_layer, only: learnable_layer_type | ||
| 9 | use athena__actv_layer, only: read_actv_layer, create_from_onnx_actv_layer | ||
| 10 | use athena__avgpool1d_layer, only: read_avgpool1d_layer | ||
| 11 | use athena__avgpool2d_layer, only: read_avgpool2d_layer | ||
| 12 | use athena__avgpool3d_layer, only: read_avgpool3d_layer | ||
| 13 | use athena__batchnorm1d_layer, only: read_batchnorm1d_layer | ||
| 14 | use athena__batchnorm2d_layer, only: read_batchnorm2d_layer | ||
| 15 | use athena__batchnorm3d_layer, only: read_batchnorm3d_layer | ||
| 16 | use athena__conv1d_layer, only: read_conv1d_layer | ||
| 17 | use athena__conv2d_layer, only: read_conv2d_layer | ||
| 18 | use athena__conv3d_layer, only: read_conv3d_layer | ||
| 19 | use athena__dropblock2d_layer, only: read_dropblock2d_layer | ||
| 20 | use athena__dropblock3d_layer, only: read_dropblock3d_layer | ||
| 21 | use athena__dropout_layer, only: read_dropout_layer, create_from_onnx_dropout_layer | ||
| 22 | use athena__duvenaud_msgpass_layer, only: read_duvenaud_msgpass_layer | ||
| 23 | use athena__flatten_layer, only: read_flatten_layer, create_from_onnx_flatten_layer | ||
| 24 | use athena__full_layer, only: read_full_layer, create_from_onnx_full_layer | ||
| 25 | use athena__input_layer, only: read_input_layer, create_from_onnx_input_layer | ||
| 26 | use athena__kipf_msgpass_layer, only: read_kipf_msgpass_layer | ||
| 27 | use athena__maxpool1d_layer, only: read_maxpool1d_layer | ||
| 28 | use athena__maxpool2d_layer, only: read_maxpool2d_layer | ||
| 29 | use athena__maxpool3d_layer, only: read_maxpool3d_layer | ||
| 30 | use athena__pad1d_layer, only: read_pad1d_layer | ||
| 31 | use athena__pad2d_layer, only: read_pad2d_layer | ||
| 32 | use athena__pad3d_layer, only: read_pad3d_layer | ||
| 33 | use athena__neural_operator_layer, only: read_neural_operator_layer | ||
| 34 | use athena__dynamic_lno_layer, only: read_dynamic_lno_layer | ||
| 35 | use athena__fixed_lno_layer, only: read_fixed_lno_layer | ||
| 36 | use athena__graph_nop_layer, only: read_graph_nop_layer | ||
| 37 | use athena__spectral_filter_layer, only: read_spectral_filter_layer | ||
| 38 | use athena__orthogonal_attention_layer, only: & | ||
| 39 | read_orthogonal_attention_layer | ||
| 40 | use athena__orthogonal_nop_block, only: read_orthogonal_nop_block | ||
| 41 | use athena__recurrent_layer, only: read_recurrent_layer | ||
| 42 | use athena__reshape_layer, only: read_reshape_layer, create_from_onnx_reshape_layer | ||
| 43 | |||
| 44 | use athena__onnx_creators, only: & | ||
| 45 | create_from_onnx_avgpool_layer, & | ||
| 46 | create_from_onnx_batchnorm_layer, & | ||
| 47 | create_from_onnx_conv_layer, & | ||
| 48 | create_from_onnx_maxpool_layer, & | ||
| 49 | create_from_onnx_pad_layer, & | ||
| 50 | create_from_onnx_duvenaud_layer, & | ||
| 51 | create_from_onnx_kipf_layer, & | ||
| 52 | create_from_onnx_dynamic_lno_layer, & | ||
| 53 | create_from_onnx_fixed_lno_layer, & | ||
| 54 | create_from_onnx_neural_operator_layer, & | ||
| 55 | create_from_onnx_orthogonal_nop_layer, & | ||
| 56 | create_from_onnx_orthogonal_attention_layer, & | ||
| 57 | classify_dynamic_lno_onnx_expanded_nop, & | ||
| 58 | build_dynamic_lno_onnx_expanded_nop, & | ||
| 59 | classify_fixed_lno_onnx_expanded_nop, & | ||
| 60 | build_fixed_lno_onnx_expanded_nop, & | ||
| 61 | classify_neural_operator_onnx_expanded_nop, & | ||
| 62 | build_neural_operator_onnx_expanded_nop, & | ||
| 63 | classify_spectral_filter_onnx_expanded_nop, & | ||
| 64 | build_spectral_filter_onnx_expanded_nop, & | ||
| 65 | classify_kipf_onnx_expanded_gnn, & | ||
| 66 | build_kipf_onnx_expanded_gnn, & | ||
| 67 | classify_duvenaud_onnx_expanded_gnn, & | ||
| 68 | build_duvenaud_onnx_expanded_gnn | ||
| 69 | |||
| 70 | contains | ||
| 71 | |||
| 72 | ✗ | module subroutine finalise_container_layer(this) | |
| 73 | !! Finalise the container layer | ||
| 74 | implicit none | ||
| 75 | class(container_layer_type), intent(inout) :: this | ||
| 76 | |||
| 77 | ✗ | if(allocated(this%layer)) deallocate(this%layer) | |
| 78 | |||
| 79 | ✗ | end subroutine finalise_container_layer | |
| 80 | |||
| 81 | !############################################################################### | ||
| 82 | |||
| 83 | #if defined(GFORTRAN) | ||
| 84 | subroutine container_reduction(this, rhs) | ||
| 85 | implicit none | ||
| 86 | class(container_layer_type), intent(inout) :: this | ||
| 87 | class(container_layer_type), intent(in) :: rhs | ||
| 88 | |||
| 89 | select type(layer_this => this%layer) | ||
| 90 | class is(learnable_layer_type) | ||
| 91 | select type(layer_rhs => rhs%layer) | ||
| 92 | class is(learnable_layer_type) | ||
| 93 | call layer_this%reduce(layer_rhs) | ||
| 94 | end select | ||
| 95 | end select | ||
| 96 | |||
| 97 | end subroutine container_reduction | ||
| 98 | #endif | ||
| 99 | |||
| 100 | |||
| 101 |
4/6✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
3 | module subroutine allocate_list_of_layer_types(addit_list) |
| 102 | implicit none | ||
| 103 | type(read_layer_container), dimension(:), intent(in), optional :: & | ||
| 104 | addit_list | ||
| 105 | |||
| 106 | |||
| 107 |
10/18✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 2 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 2 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 2 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 2 times.
|
3 | if(.not.allocated(list_of_layer_types)) allocate(list_of_layer_types(0)) |
| 108 | ✗ | list_of_layer_types = [ & | |
| 109 | list_of_layer_types, & | ||
| 110 | read_layer_container('actv', read_actv_layer), & | ||
| 111 | read_layer_container('avgpool1d', read_avgpool1d_layer), & | ||
| 112 | read_layer_container('avgpool2d', read_avgpool2d_layer), & | ||
| 113 | read_layer_container('avgpool3d', read_avgpool3d_layer), & | ||
| 114 | read_layer_container('batchnorm1d', read_batchnorm1d_layer), & | ||
| 115 | read_layer_container('batchnorm2d', read_batchnorm2d_layer), & | ||
| 116 | read_layer_container('batchnorm3d', read_batchnorm3d_layer), & | ||
| 117 | read_layer_container('conv1d', read_conv1d_layer), & | ||
| 118 | read_layer_container('conv2d', read_conv2d_layer), & | ||
| 119 | read_layer_container('conv3d', read_conv3d_layer), & | ||
| 120 | read_layer_container('dropblock2d', read_dropblock2d_layer), & | ||
| 121 | read_layer_container('dropblock3d', read_dropblock3d_layer), & | ||
| 122 | read_layer_container('dropout', read_dropout_layer), & | ||
| 123 | read_layer_container('duvenaud', read_duvenaud_msgpass_layer), & | ||
| 124 | read_layer_container('flatten', read_flatten_layer), & | ||
| 125 | read_layer_container('full', read_full_layer), & | ||
| 126 | read_layer_container('input', read_input_layer), & | ||
| 127 | read_layer_container('kipf', read_kipf_msgpass_layer), & | ||
| 128 | read_layer_container('maxpool1d', read_maxpool1d_layer), & | ||
| 129 | read_layer_container('maxpool2d', read_maxpool2d_layer), & | ||
| 130 | read_layer_container('maxpool3d', read_maxpool3d_layer), & | ||
| 131 | read_layer_container('neural_operator', read_neural_operator_layer), & | ||
| 132 | read_layer_container('fixed_lno', read_fixed_lno_layer), & | ||
| 133 | read_layer_container('dynamic_lno', read_dynamic_lno_layer), & | ||
| 134 | read_layer_container('graph_nop', read_graph_nop_layer), & | ||
| 135 | read_layer_container('spectral_filter', read_spectral_filter_layer), & | ||
| 136 | read_layer_container('orthogonal_attention', & | ||
| 137 | read_orthogonal_attention_layer), & | ||
| 138 | read_layer_container('orthogonal_nop', read_orthogonal_nop_block), & | ||
| 139 | read_layer_container('pad1d', read_pad1d_layer), & | ||
| 140 | read_layer_container('pad2d', read_pad2d_layer), & | ||
| 141 | read_layer_container('pad3d', read_pad3d_layer), & | ||
| 142 | read_layer_container('recurrent', read_recurrent_layer), & | ||
| 143 | read_layer_container('reshape', read_reshape_layer) & | ||
| 144 |
15/24✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 3 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
✓ Branch 11 taken 33 times.
✓ Branch 12 taken 3 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 3 times.
✓ Branch 15 taken 132 times.
✓ Branch 16 taken 3 times.
✓ Branch 17 taken 3 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 3 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 3 times.
✓ Branch 23 taken 132 times.
✓ Branch 24 taken 3 times.
|
300 | ] |
| 145 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2 times.
|
3 | if(present(addit_list))then |
| 146 |
22/36✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✓ Branch 15 taken 66 times.
✓ Branch 16 taken 1 times.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 31 taken 1 times.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✓ Branch 35 taken 67 times.
✓ Branch 36 taken 1 times.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 1 times.
✓ Branch 43 taken 67 times.
✓ Branch 44 taken 1 times.
|
202 | list_of_layer_types = [list_of_layer_types, addit_list] |
| 147 | end if | ||
| 148 | |||
| 149 | 3 | end subroutine allocate_list_of_layer_types | |
| 150 | |||
| 151 |
4/6✓ Branch 0 taken 1 times.
✓ Branch 1 taken 5 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
6 | module subroutine allocate_list_of_onnx_layer_creators(addit_list) |
| 152 | implicit none | ||
| 153 | type(onnx_create_layer_container), dimension(:), intent(in), optional :: & | ||
| 154 | addit_list | ||
| 155 | |||
| 156 | ! make a global create_from_onnx_conv_layer that allocates depending on the attributes | ||
| 157 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
|
6 | if(.not.allocated(list_of_onnx_layer_creators)) & |
| 158 |
8/16✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 5 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 5 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 5 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 5 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 5 times.
|
5 | allocate(list_of_onnx_layer_creators(0)) |
| 159 | ✗ | list_of_onnx_layer_creators = [ & | |
| 160 | list_of_onnx_layer_creators, & | ||
| 161 | onnx_create_layer_container('AvgPool', create_from_onnx_avgpool_layer), & | ||
| 162 | onnx_create_layer_container('BatchNormalization', & | ||
| 163 | create_from_onnx_batchnorm_layer & | ||
| 164 | ), & | ||
| 165 | onnx_create_layer_container('Conv', create_from_onnx_conv_layer), & | ||
| 166 | onnx_create_layer_container('Dropout', create_from_onnx_dropout_layer), & | ||
| 167 | onnx_create_layer_container('Flatten', create_from_onnx_flatten_layer), & | ||
| 168 | onnx_create_layer_container('Gemm', create_from_onnx_full_layer), & | ||
| 169 | onnx_create_layer_container('LeakyRelu', create_from_onnx_actv_layer), & | ||
| 170 | onnx_create_layer_container('MatMul', create_from_onnx_full_layer), & | ||
| 171 | onnx_create_layer_container('MaxPool', create_from_onnx_maxpool_layer), & | ||
| 172 | onnx_create_layer_container('Pad', create_from_onnx_pad_layer), & | ||
| 173 | onnx_create_layer_container('Relu', create_from_onnx_actv_layer), & | ||
| 174 | onnx_create_layer_container('Reshape', create_from_onnx_reshape_layer), & | ||
| 175 | onnx_create_layer_container('Selu', create_from_onnx_actv_layer), & | ||
| 176 | onnx_create_layer_container('Sigmoid', create_from_onnx_actv_layer), & | ||
| 177 | onnx_create_layer_container('Softmax', create_from_onnx_actv_layer), & | ||
| 178 | onnx_create_layer_container('Swish', create_from_onnx_actv_layer), & | ||
| 179 | onnx_create_layer_container('Tanh', create_from_onnx_actv_layer) & | ||
| 180 |
15/24✗ Branch 0 not taken.
✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 17 times.
✓ Branch 12 taken 6 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 6 times.
✓ Branch 15 taken 119 times.
✓ Branch 16 taken 6 times.
✓ Branch 17 taken 6 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 6 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 6 times.
✓ Branch 23 taken 119 times.
✓ Branch 24 taken 6 times.
|
261 | ] |
| 181 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 5 times.
|
6 | if(present(addit_list))then |
| 182 |
22/36✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✓ Branch 15 taken 34 times.
✓ Branch 16 taken 1 times.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 31 taken 1 times.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✓ Branch 35 taken 35 times.
✓ Branch 36 taken 1 times.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 1 times.
✓ Branch 43 taken 35 times.
✓ Branch 44 taken 1 times.
|
106 | list_of_onnx_layer_creators = [list_of_onnx_layer_creators, addit_list] |
| 183 | end if | ||
| 184 | |||
| 185 | 6 | end subroutine allocate_list_of_onnx_layer_creators | |
| 186 | |||
| 187 |
4/6✓ Branch 0 taken 1 times.
✓ Branch 1 taken 4 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
5 | module subroutine allocate_list_of_onnx_meta_layer_creators(addit_list) |
| 188 | implicit none | ||
| 189 | type(onnx_meta_create_layer_container), & | ||
| 190 | dimension(:), intent(in), optional :: addit_list | ||
| 191 | |||
| 192 |
2/2✓ Branch 0 taken 4 times.
✓ Branch 1 taken 1 times.
|
5 | if(.not.allocated(list_of_onnx_meta_layer_creators)) & |
| 193 |
8/16✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 4 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 4 times.
|
4 | allocate(list_of_onnx_meta_layer_creators(0)) |
| 194 | ✗ | list_of_onnx_meta_layer_creators = [ & | |
| 195 | list_of_onnx_meta_layer_creators, & | ||
| 196 | onnx_meta_create_layer_container('duvenaud', & | ||
| 197 | create_from_onnx_duvenaud_layer), & | ||
| 198 | onnx_meta_create_layer_container('kipf', & | ||
| 199 | create_from_onnx_kipf_layer), & | ||
| 200 | onnx_meta_create_layer_container( & | ||
| 201 | 'dynamic_lno', create_from_onnx_dynamic_lno_layer), & | ||
| 202 | onnx_meta_create_layer_container( & | ||
| 203 | 'fixed_lno', create_from_onnx_fixed_lno_layer), & | ||
| 204 | onnx_meta_create_layer_container( & | ||
| 205 | 'neural_operator', create_from_onnx_neural_operator_layer), & | ||
| 206 | onnx_meta_create_layer_container( & | ||
| 207 | 'orthogonal_nop', create_from_onnx_orthogonal_nop_layer), & | ||
| 208 | onnx_meta_create_layer_container( & | ||
| 209 | 'orthogonal_attention', & | ||
| 210 | create_from_onnx_orthogonal_attention_layer) & | ||
| 211 |
15/24✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 5 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 5 times.
✓ Branch 11 taken 7 times.
✓ Branch 12 taken 5 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 5 times.
✓ Branch 15 taken 42 times.
✓ Branch 16 taken 5 times.
✓ Branch 17 taken 5 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 5 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 5 times.
✓ Branch 23 taken 42 times.
✓ Branch 24 taken 5 times.
|
96 | ] |
| 212 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 4 times.
|
5 | if(present(addit_list))then |
| 213 | list_of_onnx_meta_layer_creators = & | ||
| 214 |
22/36✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✓ Branch 15 taken 14 times.
✓ Branch 16 taken 1 times.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 31 taken 1 times.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✓ Branch 35 taken 15 times.
✓ Branch 36 taken 1 times.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 1 times.
✓ Branch 43 taken 15 times.
✓ Branch 44 taken 1 times.
|
46 | [list_of_onnx_meta_layer_creators, addit_list] |
| 215 | end if | ||
| 216 | |||
| 217 | 5 | end subroutine allocate_list_of_onnx_meta_layer_creators | |
| 218 | |||
| 219 | 6 | module subroutine allocate_list_of_onnx_expanded_nop_layer_creators( & | |
| 220 |
4/6✓ Branch 0 taken 1 times.
✓ Branch 1 taken 5 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
6 | addit_list) |
| 221 | implicit none | ||
| 222 | type(onnx_expanded_nop_create_layer_container), & | ||
| 223 | dimension(:), intent(in), optional :: addit_list | ||
| 224 | |||
| 225 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
|
6 | if(.not.allocated(list_of_onnx_expanded_nop_layer_creators)) & |
| 226 |
8/16✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 5 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 5 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 5 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 5 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 5 times.
|
5 | allocate(list_of_onnx_expanded_nop_layer_creators(0)) |
| 227 | ✗ | list_of_onnx_expanded_nop_layer_creators = [ & | |
| 228 | list_of_onnx_expanded_nop_layer_creators, & | ||
| 229 | onnx_expanded_nop_create_layer_container( & | ||
| 230 | 'dynamic_lno', classify_dynamic_lno_onnx_expanded_nop, & | ||
| 231 | build_dynamic_lno_onnx_expanded_nop), & | ||
| 232 | onnx_expanded_nop_create_layer_container( & | ||
| 233 | 'fixed_lno', classify_fixed_lno_onnx_expanded_nop, & | ||
| 234 | build_fixed_lno_onnx_expanded_nop), & | ||
| 235 | onnx_expanded_nop_create_layer_container( & | ||
| 236 | 'neural_operator', classify_neural_operator_onnx_expanded_nop, & | ||
| 237 | build_neural_operator_onnx_expanded_nop), & | ||
| 238 | onnx_expanded_nop_create_layer_container( & | ||
| 239 | 'spectral_filter', classify_spectral_filter_onnx_expanded_nop, & | ||
| 240 | build_spectral_filter_onnx_expanded_nop) & | ||
| 241 |
15/24✗ Branch 0 not taken.
✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 4 times.
✓ Branch 12 taken 6 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 6 times.
✓ Branch 15 taken 28 times.
✓ Branch 16 taken 6 times.
✓ Branch 17 taken 6 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 6 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 6 times.
✓ Branch 23 taken 28 times.
✓ Branch 24 taken 6 times.
|
66 | ] |
| 242 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 5 times.
|
6 | if(present(addit_list))then |
| 243 | list_of_onnx_expanded_nop_layer_creators = & | ||
| 244 |
22/36✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✓ Branch 15 taken 8 times.
✓ Branch 16 taken 1 times.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 31 taken 1 times.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✓ Branch 35 taken 9 times.
✓ Branch 36 taken 1 times.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 1 times.
✓ Branch 43 taken 9 times.
✓ Branch 44 taken 1 times.
|
28 | [list_of_onnx_expanded_nop_layer_creators, addit_list] |
| 245 | end if | ||
| 246 | |||
| 247 | 6 | end subroutine allocate_list_of_onnx_expanded_nop_layer_creators | |
| 248 | |||
| 249 | 5 | module subroutine allocate_list_of_onnx_expanded_gnn_layer_creators( & | |
| 250 |
4/6✓ Branch 0 taken 1 times.
✓ Branch 1 taken 4 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
5 | addit_list) |
| 251 | implicit none | ||
| 252 | type(onnx_expanded_gnn_create_layer_container), & | ||
| 253 | dimension(:), intent(in), optional :: addit_list | ||
| 254 | |||
| 255 |
2/2✓ Branch 0 taken 4 times.
✓ Branch 1 taken 1 times.
|
5 | if(.not.allocated( & |
| 256 | list_of_onnx_expanded_gnn_layer_creators)) & | ||
| 257 | allocate( & | ||
| 258 |
8/16✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 4 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 4 times.
|
4 | list_of_onnx_expanded_gnn_layer_creators(0)) |
| 259 | ✗ | list_of_onnx_expanded_gnn_layer_creators = [ & | |
| 260 | list_of_onnx_expanded_gnn_layer_creators, & | ||
| 261 | onnx_expanded_gnn_create_layer_container( & | ||
| 262 | 'kipf', & | ||
| 263 | classify_kipf_onnx_expanded_gnn, & | ||
| 264 | build_kipf_onnx_expanded_gnn), & | ||
| 265 | onnx_expanded_gnn_create_layer_container( & | ||
| 266 | 'duvenaud', & | ||
| 267 | classify_duvenaud_onnx_expanded_gnn, & | ||
| 268 | build_duvenaud_onnx_expanded_gnn) & | ||
| 269 |
15/24✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 5 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 5 times.
✓ Branch 11 taken 2 times.
✓ Branch 12 taken 5 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 5 times.
✓ Branch 15 taken 12 times.
✓ Branch 16 taken 5 times.
✓ Branch 17 taken 5 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 5 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 5 times.
✓ Branch 23 taken 12 times.
✓ Branch 24 taken 5 times.
|
31 | ] |
| 270 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 4 times.
|
5 | if(present(addit_list))then |
| 271 | list_of_onnx_expanded_gnn_layer_creators = & | ||
| 272 | ✗ | [list_of_onnx_expanded_gnn_layer_creators, & | |
| 273 |
22/36✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✓ Branch 11 taken 4 times.
✓ Branch 12 taken 1 times.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✓ Branch 24 taken 1 times.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 1 times.
✓ Branch 28 taken 5 times.
✓ Branch 29 taken 1 times.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 1 times.
✓ Branch 36 taken 5 times.
✓ Branch 37 taken 1 times.
|
16 | addit_list] |
| 274 | end if | ||
| 275 | |||
| 276 | 5 | end subroutine allocate_list_of_onnx_expanded_gnn_layer_creators | |
| 277 | |||
| 278 | ✗ | end submodule athena__container_layer_submodule | |
| 279 |