@@ -79,7 +79,8 @@ module function network_from_keras(filename) result(res)
7979 layers(n) = conv2d( &
8080 keras_layers(n) % filters, &
8181 ! FIXME add support for non-square kernel
82- keras_layers(n) % kernel_size(1 ) &
82+ keras_layers(n) % kernel_size(1 ), &
83+ keras_layers(n) % activation &
8384 )
8485
8586 case (' Dense' )
@@ -162,7 +163,7 @@ module function network_from_keras(filename) result(res)
162163
163164 type is (maxpool2d_layer)
164165 ! Nothing to do
165- continue
166+ continue
166167
167168 class default
168169 error stop ' Internal error in network_from_keras(); ' &
@@ -258,6 +259,8 @@ module function output_1d(self, input) result(res)
258259 res = output_layer % output
259260 type is (flatten_layer)
260261 res = output_layer % output
262+ class default
263+ error stop ' network % output not implemented for this output layer'
261264 end select
262265
263266 end function output_1d
@@ -274,10 +277,15 @@ module function output_3d(self, input) result(res)
274277 call self % forward(input)
275278
276279 select type (output_layer = > self % layers(num_layers) % p)
280+ type is (conv2d_layer)
281+ ! FIXME flatten the result for now; find a better solution
282+ res = pack (output_layer % output, .true. )
277283 type is (dense_layer)
278284 res = output_layer % output
279285 type is (flatten_layer)
280286 res = output_layer % output
287+ class default
288+ error stop ' network % output not implemented for this output layer'
281289 end select
282290
283291 end function output_3d
0 commit comments