卷积自动编码器输出

时间:2019-10-19 21:35:05

标签: python python-3.x machine-learning keras autoencoder

我尝试创建卷积自动编码器。在输出中,我收到5004个神经元,但是在输入中,我有5000个神经元。为什么会这样呢?我有:

def create_deep_conv_ae():
    input_signal = L.Input((5000, 12), name='model_input')

    x = Conv1D(128, 9, activation='relu', padding='same')(input_signal)
    x = MaxPooling1D(3, padding='same')(x)
    x = Conv1D(64, 9, activation='relu', padding='same')(x)
    x = MaxPooling1D(3, padding='same')(x)
    encoded = Conv1D(1, 9, activation='relu', padding='same')(x)

    input_encoded = L.Input(shape=(556, 1), name='encoder_input')
    x = Conv1D(32, 9, activation='relu', padding='same')(input_encoded)
    x = UpSampling1D(3)(x) 
    x = Conv1D(128, 9, activation='relu', padding='same')(x)
    x = UpSampling1D(3)(x)
    decoded = Conv1D(12, 9, activation='sigmoid', padding='same')(x)

    # Модели
    encoder = Model(input_signal, encoded, name="encoder")
    decoder = Model(input_encoded, decoded, name="decoder")
    autoencoder = Model(input_signal, decoder(encoder(input_signal)), name="autoencoder")
    return encoder, decoder, autoencoder


c_encoder, c_decoder, c_autoencoder = create_deep_conv_ae()
c_autoencoder.compile(optimizer='adam', loss='binary_crossentropy')

c_autoencoder.summary()

enter image description here

我需要在模型中进行哪些更改?

0 个答案:

没有答案