Loads the network from file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(network_type), | intent(inout) | :: | self | |||
| character(len=*), | intent(in) | :: | filename |
subroutine load(self, filename)
!! Loads the network from file.
class(network_type), intent(in out) :: self
character(len=*), intent(in) :: filename
integer(ik) :: fileunit, n, num_layers, layer_idx
integer(ik), allocatable :: dims(:)
character(len=100) :: buffer !! activation string
open(newunit=fileunit, file=filename, status='old', action='read')
read(fileunit, *) num_layers
allocate(dims(num_layers))
read(fileunit, *) dims
call self % init(dims)
do n = 1, num_layers
read(fileunit, *) layer_idx, buffer
call self % layers(layer_idx) % set_activation(trim(buffer))
end do
do n = 2, size(self % dims)
read(fileunit, *) self % layers(n) % b
end do
do n = 1, size(self % dims) - 1
read(fileunit, *) self % layers(n) % w
end do
close(fileunit)
end subroutine load