Давайте предположим, что у меня есть такая модель Keras:
model = Sequential()
model.add(LSTM(8, return_sequences=True, input_shape=(None, 1)))
model.add(LSTM(8, return_sequences=True))
model.add(TimeDistributed(Dense(1)))
model.compile(loss='mean_squared_error',
optimizer='adam')
И final_input_sentence
, и final_output_sentence
имеют форму этой формы (1,x,1)
, где x
- это длина более длиннойстрока.Я вычисляю это, используя цикл while:
while len(input_sentence) != len(output_sentence):
if len(input_sentence) < len(output_sentence):
input_sentence.append([0])
elif len(input_sentence) > len(output_sentence):
output_sentence.append([0])
и подгоняю эту модель в реальном времени:
model.fit(final_input_sentence, final_output_sentence, epochs=1, verbose=0)
Мой вопрос: как мне подобрать модель с разными временными шагами (вероятно, у меня будетпоменять модель но вопрос как?)Так, например, форма ввода будет (1,x,1)
, а форма вывода (1,y,1)
.Этот код работает правильно, однако, когда я удаляю цикл while, я получаю сообщение об ошибке, подобное этому Incompatible shapes: [1,23,1] vs. [1,3,1]
.Я знаю, что могу заполнять нулями и т. Д., Но я хотел бы создать выходное значение без каких-либо ограничений по длине.Любые идеи, как я могу это сделать?Если что-то неясно или требуется какая-либо дополнительная информация, просто дайте мне знать.