Defuse the fused activation layers in the network.

def defuse_activation(self):
        """
        Defuse the fused activation layers in the network.
        """
        idx, nb_layers = 0, len(self.layer_list)
        while idx < nb_layers:
            layer = self.layer_list[idx]
            k_layer = self.keras_layer_map[layer]
            # unwrap time-distributed layers
            if (isinstance(k_layer, _keras.layers.TimeDistributed)):
                k_layer = k_layer.layer
            if (isinstance(k_layer, _keras.layers.convolutional.Convolution2D) or
                isinstance(k_layer, _keras.layers.convolutional.Convolution1D) or
                isinstance(k_layer, _keras.layers.core.Dense)):

                import six
                if six.PY2:
                    func_name = k_layer.activation.func_name
                else:
                    func_name = k_layer.activation.__name__

                if (func_name != 'linear'):
                    # Create new layer
                    new_layer = layer + '__activation__'
                    new_keras_layer = _keras.layers.core.Activation(func_name)
                    # insert new layer after it
                    self._insert_layer_after(idx, new_layer, new_keras_layer)
                    idx += 1
                    nb_layers += 1

            idx += 1