@@ -297,26 +297,18 @@ def parse_keras_model(model_arch, reader):
297
297
layer_list .append (layer )
298
298
if 'activation' in layer and layer ['class_name' ] not in activation_layers + recurrent_layers : # + qkeras_layers:
299
299
act_layer = {}
300
+ act_details = layer ['activation' ]
300
301
# Workaround for QKeras activations passed as an argument
301
- if isinstance (layer ['activation' ], dict ):
302
- act_details = layer ['activation' ]
302
+ if isinstance (act_details , dict ):
303
303
act_layer ['class_name' ] = 'QActivation'
304
304
act_layer ['config' ] = {
305
305
'name' : layer ['name' ] + '_' + act_details ['class_name' ],
306
306
'activation' : act_details ,
307
307
}
308
- act_layer , output_shape = layer_handlers ['QActivation' ](act_layer , None , [output_shape ], reader )
309
308
else :
310
- act_layer ['name' ] = layer ['name' ] + '_' + layer ['activation' ]
311
- act_layer ['activation' ] = layer ['activation' ]
312
- if 'activ_param' in layer :
313
- act_layer ['activ_param' ] = layer ['activ_param' ]
314
- act_layer ['class_name' ] = layer ['activation' ]
315
- elif layer ['activation' ] == 'softmax' :
316
- act_layer ['class_name' ] = 'Softmax'
317
- act_layer ['axis' ] = - 1
318
- else :
319
- act_layer ['class_name' ] = 'Activation'
309
+ act_layer ['class_name' ] = 'Activation'
310
+ act_layer ['config' ] = {'name' : layer ['name' ] + '_' + act_details , 'activation' : act_details }
311
+ act_layer , output_shape = layer_handlers [act_layer ['class_name' ]](act_layer , None , [output_shape ], reader )
320
312
inputs_map [layer ['name' ]] = act_layer ['name' ]
321
313
if output_layers is not None and layer ['name' ] in output_layers :
322
314
output_layers = [act_layer ['name' ] if name == layer ['name' ] else name for name in output_layers ]
0 commit comments