All Inputs to the Layer Should Be Tensors
Valueerror: Layer Concatenate_1 Was Called with an Input That Isn't a Symbolic Tensor. Received Type: . Full Input: [9]. All Inputs to the Layer Should Be...
ValueError: Layer concatenate_1 was called with an input that isn't a symbolic tensor. Received type: . Full input: [9]. All inputs to the layer should be tensors.
Problem on line paired_encoders_merger = concatenate(paired_encoder_size)
def __init__(self, input_size=18, paired_encoder_size=9, common_encoder_size=126, size_class=10):
inputs = []
[inputs.append(Input(shape=(input_size,1), name=('input_'+str(i)))) for i in range(7)]
paired_encoders = []
for i in range(7):
paired_encoders.append(Dense(paired_encoder_size, activation='relu')(inputs[i]))
paired_encoders_merger = concatenate(paired_encoder_size)
common_encoder = Dense(common_encoder_size, activation='relu')(paired_encoders_merger)
classes = Dense(size_class, activation='relu')(common_encoder)
common_decoded = Dense(common_encoder_size, activation='relu')(classes)
paired_decoded = []
for i in range(7):
paired_decoded.append(Dense(paired_encoder_size, activation='relu')(common_decoded))
out_pair = []
for i in range(7):
out_pair.append(Dense(input_size, activation='relu', name=('out_'+str(i)))(paired_decoded[i]))
out_merger = concatenate(out_pair)
self.model = Model(inputs=inputs, outputs=out_merger)
self.model.compile(optimizer='ADAM', loss='binary_crossentropy')
1 Answer
You have to provide a list of Tensors to Concatenate(). You are providing an integer paired_encoder_size. Try passing paired_encoders instead.