2
我正在關注keras here中的深度自動編碼器教程。 對於在一開始簡單的自動編碼器有這樣定義的decoder
:獲取深自動編碼器的解碼器
# retrieve the last layer of the autoencoder model
decoder_layer = autoencoder.layers[-1]
# create the decoder model
decoder = Model(encoded_input, decoder_layer(encoded_input))
這不會了,如果你有一個以上的譯碼器層工作。如果我有三個解碼器層,怎麼做類似?
encoded = Dense(128, activation='relu')(input_img)
encoded = Dense(64, activation='relu')(encoded)
encoded = Dense(32, activation='relu')(encoded)
decoded = Dense(64, activation='relu')(encoded)
decoded = Dense(128, activation='relu')(decoded)
decoded = Dense(784, activation='sigmoid')(decoded)
autoencoder = Model(input_img, decoded)
encoder = Model(input_img, encoded)
對於編碼器,它很容易工作,但如何獲得最後三層的模型?
你的意思是你想用幾層作爲解碼器的NN?或者你想用相同的輸入使用幾個不同的解碼器? – SRC
我有一個輸入層(比如說784個神經元),然後是一些編碼層與縮小的神經元(比如直到32個神經元),然後是解碼器層(現在增長回到784個神經元)。事情是,在訓練之後,我只想使用網絡的一部分(編碼器或解碼器層)。 – ScientiaEtVeritas
我不確定這是否有幫助,但可能更接近您正在尋找的東西。 - https://github.com/fchollet/keras/issues/358#issuecomment-119379780 – SRC