'Returns the config of the layer.
A layer config is a Python dictionary (serializable)
containing the configuration of a layer.
The same layer can be reinstantiated later
(without its trained weights) from this configuration.
The config of a layer does not include connectivity
information, nor the layer class name. These are handled
by `Container` (one layer of abstraction above).
# Returns
Python dictionary.'

def get_config(self):

    config = {'name': self.name, 'trainable': self.trainable}
    if hasattr(self, 'batch_input_shape'):
        config['batch_input_shape'] = self.batch_input_shape
    if hasattr(self, 'dtype'):
        config['dtype'] = self.dtype
    return config
