diff --git a/keras_visualize_activations/read_activations.py b/keras_visualize_activations/read_activations.py index 0e4641ac32bfcd48aa42cefb676d021e27697310..053439b84ebb50be638acb9d158694e2f3c1d9aa 100644 --- a/keras_visualize_activations/read_activations.py +++ b/keras_visualize_activations/read_activations.py @@ -1,5 +1,7 @@ import keras.backend as K +from keras.engine.input_layer import InputLayer +from keras.layers.core import Masking def get_activations(model, model_inputs, print_shape_only=False, layer_name=None): print('----- activations -----') @@ -12,8 +14,12 @@ def get_activations(model, model_inputs, print_shape_only=False, layer_name=None inp = [inp] model_multi_inputs_cond = False + # all layer outputs + # skip input and masking layers outputs = [layer.output for layer in model.layers if - layer.name == layer_name or layer_name is None] # all layer outputs + (layer.name == layer_name or layer_name is None) + and not isinstance(layer, InputLayer) + and not isinstance(layer, Masking)] funcs = [K.function(inp + [K.learning_phase()], [out]) for out in outputs] # evaluation functions