Stacked Autoencoder
I have tried to create a stacked autoencoder using Keras but I couldn't do the last part of this autoencoder.
Here I have created three autoencoders. It works fine individually but I don't know how to combine all the encoder parts for classification.
import keras
from keras import layers
from keras.layers import Input, Dense
input_size = 2304
hidden_size = 64
output_size = 2304
input_img = keras.Input(shape=(input_size,))
#autoencoder1
encoded = layers.Dense(512, activation='relu')(input_img)
encoded = layers.Dense(256, activation='relu')(encoded)
decoded = layers.Dense(512, activation='relu')(encoded)
decoded = layers.Dense(output_size, activation='sigmoid')(decoded)
autoencoder = keras.Model(inputs=input_img, outputs=decoded)
autoencoder.compile(optimizer='adam', loss='mse')
encoder=Model(inputs=input_img,outputs=encoded)
encoder.compile(optimizer='adam', loss='mse')
#autoencoder2
input_size = 256
input_img1 = keras.Input(shape=(input_size,))
output_size=256
encoded1 = layers.Dense(128, activation='relu')(input_img1)
encoded1 = layers.Dense(64, activation='relu')(encoded1)
decoded1 = layers.Dense(128, activation='relu')(encoded1)
decoded1 = layers.Dense(output_size, activation='sigmoid')(decoded1)
autoencoder1 = keras.Model(inputs=input_img1, outputs=decoded1)
autoencoder1.compile(optimizer='adam', loss='mse')
encoder1=Model(inputs=input_img1,outputs=encoded1)
encoder1.compile(optimizer='adam', loss='mse')
#autoencoder3
input_size = 64
input_img2 = keras.Input(shape=(input_size,))
output_size=64
encoded2 = layers.Dense(32, activation='relu')(input_img2)
decoded2 = layers.Dense(output_size, activation='sigmoid')(encoded2)
autoencoder2 = keras.Model(inputs=input_img2, outputs=decoded2)
autoencoder2.compile(optimizer='adam', loss='mse')
encoder2=Model(inputs=input_img2,outputs=encoded2)
encoder2.compile(optimizer='adam', loss='mse')
y=Dense(7, activation='softmax')(encoder3)
autoencoder3=Model(inputs=input_img,outputs=y)
