From 45f0ff9692d954e80c2fff3c2a7dff66b4906f4a Mon Sep 17 00:00:00 2001
From: Nikolai <osterei33@gmx.de>
Date: Tue, 21 Aug 2018 09:12:58 +0200
Subject: [PATCH] skip InputLayer and MaskingLayer in read_activations

---
 keras_visualize_activations/read_activations.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/keras_visualize_activations/read_activations.py b/keras_visualize_activations/read_activations.py
index 0e4641a..053439b 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
 
-- 
GitLab