Я пытаюсь создать LSTM AutoEncoder, но у меня возникают некоторые проблемы в процессе формирования данных из-за соответствия потребностям LSTM.Поскольку я тренируюсь в пакетах, которые я генерирую в цикле окон моего временного ряда, код выглядит следующим образом:
X_batch = np.array(file.loc[window * WINDOWS_SIZE:(window + 1) * WINDOWS_SIZE - 1], dtype="f")
print(X_batch.shape)
X_batch = np.reshape(1, WINDOWS_SIZE, cluster_feature_size)
print(X_batch.shape)
history = model.fit(X_batch, X_batch, epochs=1, verbose=False)
Мои пакеты имеют форму 48 точек данных (WINDOWS_SIZE) и 45 метрик (переменная cluster_feature_size).Я прочитал, что мне нужно изменить свои данные в следующем формате (примеры, временные шаги, функции), но я где-то терплю неудачу и пропускаю некоторую информацию.Я рассуждаю, что 1 образец - 1 партия, в пакете у меня 48 точек данных, поэтому я поставил 48 временных шагов и, наконец, учитывая количество метрик временных рядов, которые у меня есть в пакете.Что-то не так?
Чертеж модели архитектуры, которую я построил до сих пор, таков:
model = Sequential()
model.add(LSTM(100, activation='relu', input_shape=(WINDOWS_SIZE, cluster_feature_size)))
model.add(RepeatVector(WINDOWS_SIZE))
model.add(Dense(1))
model.add(LSTM(100, activation='relu', return_sequences=True))
model.add(TimeDistributed(Dense(1)))
Я следовал интерактивному руководству по созданию этой модели и до сих пор не углубляюсь вэто так концептуально, я хотел сначала иметь возможность просто запустить модель.
При изменении формы я получаю следующую ошибку:
(48, 45)
---> 17 X_batch = np.reshape(1, WINDOWS_SIZE, cluster_feature_size)
ValueError: cannot reshape array of size 1 into shape (48,)
Заранее спасибо за ваши советы идайте мне знать, если вопрос нужно отредактировать для ясности.