Skip to content

Commit

Permalink
FIX PR: apply suggestion changes from FC review regarding to hybird m…
Browse files Browse the repository at this point in the history
…odel branch (#311)
  • Loading branch information
nghi-truyen authored Sep 9, 2024
1 parent 9699c96 commit d3581d6
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 18 deletions.
19 changes: 13 additions & 6 deletions smash/fcore/forward/forward_db.f90
Original file line number Diff line number Diff line change
Expand Up @@ -6377,12 +6377,15 @@ SUBROUTINE NN_PARAMETERS_GET_CONTROL_SIZE(setup, options, n)
TYPE(SETUPDT), INTENT(IN) :: setup
TYPE(OPTIONSDT), INTENT(IN) :: options
INTEGER, INTENT(INOUT) :: n
n = options%optimize%nn_parameters(1)*setup%neurons(2)*setup%neurons&
& (1) + options%optimize%nn_parameters(2)*setup%neurons(2) + options&
& %optimize%nn_parameters(3)*setup%neurons(3)*setup%neurons(2) + &
& options%optimize%nn_parameters(4)*setup%neurons(3) + options%&
& optimize%nn_parameters(5)*setup%neurons(4)*setup%neurons(3) + &
& options%optimize%nn_parameters(6)*setup%neurons(4)
INTEGER :: i, n_w, n_b
INTRINSIC SIZE
n = 0
DO i=0,SIZE(setup%hidden_neuron)
n_w = options%optimize%nn_parameters(2*i+1)*setup%neurons(i+2)*&
& setup%neurons(i+1)
n_b = options%optimize%nn_parameters(2*i+2)*setup%neurons(i+2)
n = n + n_w + n_b
END DO
END SUBROUTINE NN_PARAMETERS_GET_CONTROL_SIZE

SUBROUTINE GET_CONTROL_SIZES(setup, mesh, options, nbk)
Expand Down Expand Up @@ -6793,6 +6796,7 @@ SUBROUTINE NN_PARAMETERS_FILL_CONTROL(setup, options, parameters)
CHARACTER(len=lchar) :: name
INTEGER :: j, k, l
INTRINSIC SUM
! NN parameters is fifth control kind
j = SUM(parameters%control%nbk(1:4))
IF (options%optimize%nn_parameters(1) .EQ. 1) THEN
DO k=1,setup%neurons(1)
Expand Down Expand Up @@ -8248,6 +8252,7 @@ SUBROUTINE NN_PARAMETERS_FILL_PARAMETERS_D(setup, options, parameters&
TYPE(PARAMETERSDT), INTENT(INOUT) :: parameters_d
INTEGER :: j, k, l
INTRINSIC SUM
! NN parameters is fifth control kind
j = SUM(parameters%control%nbk(1:4))
IF (options%optimize%nn_parameters(1) .EQ. 1) THEN
parameters_d%nn_parameters%weight_1 = 0.0_4
Expand Down Expand Up @@ -8343,6 +8348,7 @@ SUBROUTINE NN_PARAMETERS_FILL_PARAMETERS_B(setup, options, parameters&
INTEGER :: j, k, l
INTRINSIC SUM
INTEGER :: branch
! NN parameters is fifth control kind
j = SUM(parameters%control%nbk(1:4))
IF (options%optimize%nn_parameters(1) .EQ. 1) THEN
DO k=1,setup%neurons(1)
Expand Down Expand Up @@ -8467,6 +8473,7 @@ SUBROUTINE NN_PARAMETERS_FILL_PARAMETERS(setup, options, parameters)
TYPE(PARAMETERSDT), INTENT(INOUT) :: parameters
INTEGER :: j, k, l
INTRINSIC SUM
! NN parameters is fifth control kind
j = SUM(parameters%control%nbk(1:4))
IF (options%optimize%nn_parameters(1) .EQ. 1) THEN
DO k=1,setup%neurons(1)
Expand Down
19 changes: 13 additions & 6 deletions smash/fcore/forward/forward_openmp_db.f90
Original file line number Diff line number Diff line change
Expand Up @@ -6377,12 +6377,15 @@ SUBROUTINE NN_PARAMETERS_GET_CONTROL_SIZE(setup, options, n)
TYPE(SETUPDT), INTENT(IN) :: setup
TYPE(OPTIONSDT), INTENT(IN) :: options
INTEGER, INTENT(INOUT) :: n
n = options%optimize%nn_parameters(1)*setup%neurons(2)*setup%neurons&
& (1) + options%optimize%nn_parameters(2)*setup%neurons(2) + options&
& %optimize%nn_parameters(3)*setup%neurons(3)*setup%neurons(2) + &
& options%optimize%nn_parameters(4)*setup%neurons(3) + options%&
& optimize%nn_parameters(5)*setup%neurons(4)*setup%neurons(3) + &
& options%optimize%nn_parameters(6)*setup%neurons(4)
INTEGER :: i, n_w, n_b
INTRINSIC SIZE
n = 0
DO i=0,SIZE(setup%hidden_neuron)
n_w = options%optimize%nn_parameters(2*i+1)*setup%neurons(i+2)*&
& setup%neurons(i+1)
n_b = options%optimize%nn_parameters(2*i+2)*setup%neurons(i+2)
n = n + n_w + n_b
END DO
END SUBROUTINE NN_PARAMETERS_GET_CONTROL_SIZE

SUBROUTINE GET_CONTROL_SIZES(setup, mesh, options, nbk)
Expand Down Expand Up @@ -6793,6 +6796,7 @@ SUBROUTINE NN_PARAMETERS_FILL_CONTROL(setup, options, parameters)
CHARACTER(len=lchar) :: name
INTEGER :: j, k, l
INTRINSIC SUM
! NN parameters is fifth control kind
j = SUM(parameters%control%nbk(1:4))
IF (options%optimize%nn_parameters(1) .EQ. 1) THEN
DO k=1,setup%neurons(1)
Expand Down Expand Up @@ -8250,6 +8254,7 @@ SUBROUTINE NN_PARAMETERS_FILL_PARAMETERS_D(setup, options, parameters&
TYPE(PARAMETERSDT), INTENT(INOUT) :: parameters_d
INTEGER :: j, k, l
INTRINSIC SUM
! NN parameters is fifth control kind
j = SUM(parameters%control%nbk(1:4))
IF (options%optimize%nn_parameters(1) .EQ. 1) THEN
parameters_d%nn_parameters%weight_1 = 0.0_4
Expand Down Expand Up @@ -8345,6 +8350,7 @@ SUBROUTINE NN_PARAMETERS_FILL_PARAMETERS_B(setup, options, parameters&
INTEGER :: j, k, l
INTRINSIC SUM
INTEGER :: branch
! NN parameters is fifth control kind
j = SUM(parameters%control%nbk(1:4))
IF (options%optimize%nn_parameters(1) .EQ. 1) THEN
DO k=1,setup%neurons(1)
Expand Down Expand Up @@ -8469,6 +8475,7 @@ SUBROUTINE NN_PARAMETERS_FILL_PARAMETERS(setup, options, parameters)
TYPE(PARAMETERSDT), INTENT(INOUT) :: parameters
INTEGER :: j, k, l
INTRINSIC SUM
! NN parameters is fifth control kind
j = SUM(parameters%control%nbk(1:4))
IF (options%optimize%nn_parameters(1) .EQ. 1) THEN
DO k=1,setup%neurons(1)
Expand Down
20 changes: 14 additions & 6 deletions smash/fcore/routine/mwd_parameters_manipulation.f90
Original file line number Diff line number Diff line change
Expand Up @@ -748,12 +748,18 @@ subroutine nn_parameters_get_control_size(setup, options, n)
type(OptionsDT), intent(in) :: options
integer, intent(inout) :: n

n = options%optimize%nn_parameters(1)*setup%neurons(2)*setup%neurons(1) &
& + options%optimize%nn_parameters(2)*setup%neurons(2) &
& + options%optimize%nn_parameters(3)*setup%neurons(3)*setup%neurons(2) &
& + options%optimize%nn_parameters(4)*setup%neurons(3) &
& + options%optimize%nn_parameters(5)*setup%neurons(4)*setup%neurons(3) &
& + options%optimize%nn_parameters(6)*setup%neurons(4)
integer :: i, n_w, n_b

n = 0

do i = 0, size(setup%hidden_neuron)

n_w = options%optimize%nn_parameters(2*i + 1)*setup%neurons(i + 2)*setup%neurons(i + 1)
n_b = options%optimize%nn_parameters(2*i + 2)*setup%neurons(i + 2)

n = n + n_w + n_b

end do

end subroutine nn_parameters_get_control_size

Expand Down Expand Up @@ -1241,6 +1247,7 @@ subroutine nn_parameters_fill_control(setup, options, parameters)
character(lchar) :: name
integer :: j, k, l

! NN parameters is fifth control kind
j = sum(parameters%control%nbk(1:4))

if (options%optimize%nn_parameters(1) .eq. 1) then
Expand Down Expand Up @@ -1780,6 +1787,7 @@ subroutine nn_parameters_fill_parameters(setup, options, parameters)

integer :: j, k, l

! NN parameters is fifth control kind
j = sum(parameters%control%nbk(1:4))

if (options%optimize%nn_parameters(1) .eq. 1) then
Expand Down

0 comments on commit d3581d6

Please sign in to comment.