| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | module athena__initialiser_zeros | ||
| 2 | !! Module containing the implementation of the Zeros initialiser | ||
| 3 | !! | ||
| 4 | !! This module contains the implementation of the Zeros initialiser | ||
| 5 | !! for the weights and biases of a layer | ||
| 6 | use coreutils, only: real32 | ||
| 7 | use athena__misc_types, only: base_init_type | ||
| 8 | implicit none | ||
| 9 | |||
| 10 | |||
| 11 | private | ||
| 12 | |||
| 13 | public :: zeros_init_type | ||
| 14 | |||
| 15 | |||
| 16 | type, extends(base_init_type) :: zeros_init_type | ||
| 17 | !! Type for the Zeros initialiser | ||
| 18 | contains | ||
| 19 | procedure, pass(this) :: initialise => zeros_initialise | ||
| 20 | !! Initialise the weights and biases using the Zeros distribution | ||
| 21 | end type zeros_init_type | ||
| 22 | |||
| 23 | |||
| 24 | interface zeros_init_type | ||
| 25 | module function initialiser_zeros_setup() result(initialiser) | ||
| 26 | !! Interface for the Zeros initialiser | ||
| 27 | type(zeros_init_type) :: initialiser | ||
| 28 | !! Zeros initialiser object | ||
| 29 | end function initialiser_zeros_setup | ||
| 30 | end interface zeros_init_type | ||
| 31 | |||
| 32 | |||
| 33 | |||
| 34 | contains | ||
| 35 | |||
| 36 | !############################################################################### | ||
| 37 | 295 | module function initialiser_zeros_setup() result(initialiser) | |
| 38 | !! Interface for the Zeros initialiser | ||
| 39 | implicit none | ||
| 40 | |||
| 41 | type(zeros_init_type) :: initialiser | ||
| 42 | !! Zeros initialiser object | ||
| 43 | |||
| 44 | 295 | initialiser%name = "zeros" | |
| 45 | |||
| 46 | 295 | end function initialiser_zeros_setup | |
| 47 | !############################################################################### | ||
| 48 | |||
| 49 | |||
| 50 | !############################################################################### | ||
| 51 | 278 | pure subroutine zeros_initialise(this, input, fan_in, fan_out, spacing) | |
| 52 | !! Initialise the weights and biases using the Zeros distribution | ||
| 53 | implicit none | ||
| 54 | |||
| 55 | ! Arguments | ||
| 56 | class(zeros_init_type), intent(inout) :: this | ||
| 57 | !! Instance of the Zeros initialiser | ||
| 58 | real(real32), dimension(..), intent(out) :: input | ||
| 59 | !! Weights and biases to initialise | ||
| 60 | integer, optional, intent(in) :: fan_in, fan_out | ||
| 61 | !! Number of input and output parameters | ||
| 62 | integer, dimension(:), optional, intent(in) :: spacing | ||
| 63 | !! Spacing of the input and output units | ||
| 64 | |||
| 65 | select rank(input) | ||
| 66 | rank(0) | ||
| 67 | 1 | input = 0._real32 | |
| 68 | rank(1) | ||
| 69 |
6/10✗ Branch 0 not taken.
✓ Branch 1 taken 275 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 275 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 275 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 275 times.
✓ Branch 12 taken 6027 times.
✓ Branch 13 taken 275 times.
|
6302 | input = 0._real32 |
| 70 | rank(2) | ||
| 71 | ✗ | input = 0._real32 | |
| 72 | rank(3) | ||
| 73 |
18/30✗ 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 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✓ Branch 36 taken 1 times.
✓ Branch 37 taken 1 times.
✓ Branch 38 taken 1 times.
✓ Branch 39 taken 1 times.
✓ Branch 40 taken 1 times.
✓ Branch 41 taken 1 times.
|
4 | input = 0._real32 |
| 74 | rank(4) | ||
| 75 | ✗ | input = 0._real32 | |
| 76 | rank(5) | ||
| 77 | ✗ | input = 0._real32 | |
| 78 | rank(6) | ||
| 79 |
36/60✗ 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 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 1 times.
✓ Branch 72 taken 1 times.
✓ Branch 73 taken 1 times.
✓ Branch 74 taken 1 times.
✓ Branch 75 taken 1 times.
✓ Branch 76 taken 1 times.
✓ Branch 77 taken 1 times.
✓ Branch 78 taken 1 times.
✓ Branch 79 taken 1 times.
✓ Branch 80 taken 1 times.
✓ Branch 81 taken 1 times.
✓ Branch 82 taken 1 times.
✓ Branch 83 taken 1 times.
|
7 | input = 0._real32 |
| 80 | end select | ||
| 81 | |||
| 82 | 278 | end subroutine zeros_initialise | |
| 83 | !############################################################################### | ||
| 84 | |||
| 85 |
13/18✓ Branch 0 taken 277 times.
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 277 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✓ Branch 5 taken 277 times.
✓ Branch 6 taken 275 times.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✓ Branch 10 taken 1 times.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
|
278 | end module athena__initialiser_zeros |
| 86 |