'Computes the output shape of this layer, given a list of input shapes.
Parameters
input_shape : list of tuple
A list of tuples, with each tuple representing the shape of one of
the inputs (in the correct order). These tuples 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 must be overridden when implementing a new
:class:`Layer` class with multiple inputs. By default it raises
`NotImplementedError`.'

def get_output_shape_for(self, input_shapes):

    raise NotImplementedError
