batch_input_shape в LSTM с отслеживанием состояния - PullRequest
0 голосов
/ 02 апреля 2020

У меня вопрос по поводу кода LTSM Python с состоянием.

def fit_lstm(train, batch_size, nb_epoch, neurons):
    X = []
    y = []
    for i in range(neurons, len(train)):
        X.append(train[i-neurons:i, 0])
        y.append(train[i,0])   
    X, y = np.array(X), np.array(y)    
    X = np.reshape(X, (X.shape[0], X.shape[1], 1))
    model = Sequential()
    model.add(LSTM(neurons, batch_input_shape=(batch_size, X.shape[1], 1), stateful=True))
    model.add(Dense(1))
    model.compile(loss='mean_squared_error', optimizer='adam')
    for i in range(nb_epoch):
        model.fit(X, y, epochs=1, batch_size=batch_size, verbose=0, shuffle=False)
        model.reset_states()
    return model

Я написал эту функцию сам, но меня смущает формат ввода "batch_input_shape" в части model.add. Train - это набор данных для тренировки временных рядов. И я хочу использовать последние 4 значения train.value для прогнозирования следующего значения train.value. Кроме того, правильно ли написан код X = np.reshape?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...