AttributeError: type object 'Lambda' has no attribute 'shape'
The error happens on this line:

lm = Lambda(decoder_concat_input)


Keras is not able to infer the input shape to the layer so you need to specify the input_shape parameter explicitly. But it is also not clear why you are using a Lambda layer in the first place. The layer is supposed to wrap a function but decoder_concat_input is itself a Layer. That is probably an error.