Я хотел бы знать разницу между этими 2 моделями. В приведенном выше есть 4 слоя, которые просматривают сводку модели, и вы также можете определить номера единиц для уменьшения размерности. Но что со 2-й моделью, она имеет 3 слоя, и вы не можете напрямую определить количество скрытых единиц? Являются ли оба LSTM Autoencoder для уменьшения размерности и регрессионного анализа? Есть ли хорошие статьи, описывающие эти два примера, которые я нашел из keras и здесь . Я нигде не определил переменные, потому что я не задаю вопрос о кодировании напрямую. Я надеюсь, что это также хорошее место для этой темы.
1. Модель:
from keras.layers import *
from keras.models import Model
from keras.layers import Input, LSTM, Dense, RepeatVector
samples=1000
timesteps=300
features=input_dim=1
data_shape=np.reshape(data,(samples,timestep,input_dim)
inputs = Input(shape=(timestep, input_dim))
encoded = LSTM(units, return_sequences=False, name="encoder")(inputs)
decoded = RepeatVector(timestep)(encoded)
decoded = LSTM(input_dim, return_sequences=True, name='decoder')(decoded)
autoencoder = Model(inputs, decoded)
encoder = Model(inputs, encoded)
print (autoencoder.summary())
2. Модель:
x = np.random.random((1000, 300, 1))
2.модель:
m = Sequential()
m.add(LSTM(100, input_shape=(300,1)))
m.add(RepeatVector(300))
m.add(LSTM(100, return_sequences=True))
print (m.summary())
m.compile(loss='mse', optimizer='rmsprop', metrics=['mse', 'mape'])
history = m.fit(x, x, nb_epoch=2000, batch_size=100)
Когда я пытаюсь добавить к ним данные формы, например (1000, 300, 1) первый принимает его, второй нет, я получаю ожидаемую ошибку lstm_4, чтобы иметь форму (Нет, 300, 100), но получил массив с формой (1000, 300, 1). С выбранным input_dim 1 и единицами = 100. Что я делаю неправильно ? Вот кем я хочу быть:
LSTM(100, input_shape=(300, 1))
с единицами = 100
Когда я запускаю модель, я получаю следующую ошибку: Ошибка при проверке цели: ожидалось, что lstm_2 будет иметь форму (Нет, 300, 100), но получил массив с формой (1000, 300, 1)
Где моя ошибка в том, что модель не принимает мою форму данных и размер моих единиц?