Извлечение элементов из слоя узкого места в автоэнкодере Keras - PullRequest
0 голосов
/ 08 мая 2018

В последние недели я последовательно спрашиваю вас об автоэнкодере.Вопрос сегодня заключается в следующем;Как получить функции из слоя узкого места?

Я ссылался на этот сайт.https://github.com/keras-team/keras/issues/2495

Сообщение об ошибке, которое я получил, было показано здесь;UserWarning: Обновите ваш Model вызов API Keras 2: Model(inputs=[<tf.Tenso..., outputs=[<tf.Tenso...) Модель (вход = [входы], выход = [промежуточный_слой])

Кроме того, я попытался извлечь функции с помощью этого метода(перейдите по ссылке ниже), и это тоже не сработало.https://keras.io/getting-started/faq/#how-can-i-obtain-the-output-of-an-intermediate-layer

Любые комментарии должны быть полезны.Спасибо!

X = Input(shape=(37310,))

encoded = Dense(encoding_dim, activation='tanh')(X)
decoded = Dense(37310, activation='sigmoid')(encoded)

autoencoder = Model(X, decoded)   
encoded_input = Input(shape=(encoding_dim,))
decoder_layer = autoencoder.layers[-1]
decoder = Model(encoded_input, decoder_layer(encoded_input))

autoencoder.compile(optimizer='SGD', loss='mean_squared_error')

encoded1 = Dense(500, activation='tanh')(X)
encoded2 = Dense(100, activation='tanh')(encoded1)
encoded3 = Dense(50, activation='tanh')(encoded2)

decoded = Dense(100, activation='tanh')(encoded)
decoded = Dense(500, activation='tanh')(decoded)
decoded = Dense(37310, activation='sigmoid')(decoded)

autoencoder = Model(X, decoded)
autoencoder.compile(optimizer='SGD', loss='mean_squared_error')

autoencoder.fit(X_train, X_train,
            epochs=10,
            batch_size=100,
            shuffle=True,
            validation_data=(X_test, X_test))

model = Model(input=[X], output=[encoded3])
...