0

I am making a multi layer auto-encoder using Keras and I am getting the error where I make the Model of decoder.

I saw a matching problem in Stackoverflow but my code isn't incorrect and is complete, so not missing anything

encoding_dim=16


i=Input(shape=(122,))




encoded=Dense(64,activation='relu')(i)

encoded1=Dense(32,activation='relu')(encoded)

encoded2=Dense(16,activation='relu')(encoded1)


decoded=Dense(32,activation='relu')(encoded2)

decoded2 =Dense(64,activation='relu')(decoded)

decoded3 =Dense(122,activation='relu')(decoded2)

autoencoder = Model(i, decoded3)


ec = Model(i,encoded)

encoded_input=Input(shape=(encoding_dim,))

decoder_layer=autoencoder.layers[-3](encoded_input)
decoder_layer=autoencoder.layers[-2](decoder_layer)
decoder_layer=autoencoder.layers[-1](decoder_layer)


**decoder=Model(encoded_input,decoder_layer(encoded_input))**
0

1 Answer 1

1

The problem is here:

decoder = Model(encoded_input, decoder_layer(encoded_input))

decoder_layer                 # <-- is a LAYER
decoder_layer(encoded_input)  # <-- is a TENSOR

Model expects inputs= and outputs= to be both layers, not tensors; a layer fed an input evalutes to a tensor. Fix:

decoder = Model(encoded_input, decoder_layer)
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.