Почему RNN выдает ошибку формы пакетного ввода? - PullRequest
0 голосов
/ 23 октября 2018

Моя x_train форма (798,3) и y_train входная форма (798, 1).Я создаю RNN как этот

def create_rnn_model():
    model = Sequential()
    model.add(SimpleRNN(20,return_sequences=False,stateful=stateful,activation='relu',batch_input_shape=(1,3,1)))
    model.add(Activation('relu'))
    adam = optimizers.Adam(lr=0.001)
    model.compile(loss='mean_squared_error', optimizer=adam, metrics=[root_mean_squared_error])

    return model

Но это возвращает ошибку

ValueError: Ошибка при проверке ввода: ожидалось, что simple_rnn_1_input имеет 3 измерения, но получил массив с формой (798, 3)

Размер моей партии = 1, а мой временной шаг равен 3 и dat_dim=1. Тогда где я делаю это неправильно?Любая помощь приветствуется.

EDIT

Я изменил свой x_train на shape (798,3,1) и y_train на (798,) и запустил модель, ноэто выдало ошибку

ValueError: Error when checking target: expected activation_1 to have shape (20,) but got array with shape (1,)

Но я могу запустить модель с 1 устройством.Как мне указать модель для работы с 20 модулями вместо одного.

Моя сетевая модель такая же, как и мой текущий L = 3Network

...