@@ -129,36 +129,33 @@ module function network_from_keras(filename) result(res)
129129
130130 layer_name = keras_layers(n) % name
131131
132- if (keras_layers(n) % class == ' Dense' ) then
133- select type (this_layer = > res % layers(n) % p)
132+ select type (this_layer = > res % layers(n) % p)
134133
135- type is (dense_layer)
136-
137- ! Read biases from file
138- object_name = ' /model_weights/' // layer_name // ' /' &
139- // layer_name // ' /bias:0'
140- call get_hdf5_dataset(filename, object_name, this_layer % biases)
134+ type is (dense_layer)
141135
142- ! Read weights from file
143- object_name = ' /model_weights/' // layer_name // ' /' &
144- // layer_name // ' /kernel :0'
145- call get_hdf5_dataset(filename, object_name, this_layer % weights )
136+ ! Read biases from file
137+ object_name = ' /model_weights/' // layer_name // ' /' &
138+ // layer_name // ' /bias :0'
139+ call get_hdf5_dataset(filename, object_name, this_layer % biases )
146140
147- ! TODO Multidimensional arrays are stored in HDF5 in C-order.
148- ! TODO Here we transpose the array to get to the Fortran order.
149- ! TODO There may be a way to do this without re-allocating.
150- ! TODO It probably doesn't matter much since we do this once.
151- ! TODO Figure it out later.
152- this_layer % weights = transpose (this_layer % weights)
141+ ! Read weights from file
142+ object_name = ' /model_weights/' // layer_name // ' /' &
143+ // layer_name // ' /kernel:0'
144+ call get_hdf5_dataset(filename, object_name, this_layer % weights)
153145
154- class default
155- error stop ' Internal error in network_from_keras(); ' &
156- // ' mismatch in layer types between the Keras and ' &
157- // ' neural-fortran model layers.'
146+ ! TODO Multidimensional arrays are stored in HDF5 in C-order.
147+ ! TODO Here we transpose the array to get to the Fortran order.
148+ ! TODO There may be a way to do this without re-allocating.
149+ ! TODO It probably doesn't matter much since we do this once.
150+ ! TODO Figure it out later.
151+ this_layer % weights = transpose (this_layer % weights)
158152
159- end select
153+ class default
154+ error stop ' Internal error in network_from_keras(); ' &
155+ // ' mismatch in layer types between the Keras and ' &
156+ // ' neural-fortran model layers.'
160157
161- end if
158+ end select
162159
163160 end do
164161
0 commit comments