'Computes the output shape of this layer, given an input shape.
Parameters
input_shape : tuple
A tuple representing the shape of the input. The tuple should have
as many elements as there are input dimensions, and the elements
should be integers or `None`.
Returns
tuple
A tuple representing the shape of the output of this layer. The
tuple has as many elements as there are output dimensions, and the
elements are all either integers or `None`.
Notes
This method will typically be overridden when implementing a new
:class:`Layer` class. By default it simply returns the input
shape. This means that a layer that does not modify the shape
(e.g. because it applies an elementwise operation) does not need
to override this method.'

def get_output_shape_for(self, input_shape):

    return input_shape
