Этот ответ должен решить вашу проблему. В основном вы пытаетесь прочитать символ из потока, и он не может быть разобран на int, поэтому поток остается в состоянии ошибки.
Вы должны проверить наличие ошибки, очистить ее и реагировать соответственно. [/ д2]
Слой Keras LSTM ожидает, что вход будет 3
тусклым, как (batch_size, seq_length, input_dims)
, но вы неправильно его определили. Попробуйте это
layer_lstm(units = 32, input_shape = c(seq_length, 32), batch_size = batch_size, return_sequences = T)
Вам нужно изменить ваши данные на три, где новые будут представлять последовательные данные.
Я использовал игрушечный набор данных, чтобы показать пример, здесь данные и метки изначально имеют форму ((150, 32), (150,))
, используя следующий скрипт:
seq_length = 10 # choice
dataX = []
dataY = []
for i in range(0, 150 - seq_length, 1):
dataX.append(data[i:i+seq_length])
dataY.append(labels[i+seq_length-1])
import numpy as np
dataX = np.reshape(dataX, (-1, seq_length, 32))
dataY = np.reshape(dataY, (-1, 1))
# dataX.shape, dataY.shape
Вывод: ((140, 10, 32), (140, 1))
Сейчас Вы можете смело кормить его моделью.