Откуда RNN берет размер партии? - PullRequest
0 голосов
/ 23 октября 2018

Я тренирую RNN ниже:

def create_rnn_model(stateful,length):
    model = Sequential()
    model.add(SimpleRNN(20,return_sequences=False,stateful=stateful,batch_input_shape=(1,length,1)))
    adam = optimizers.Adam(lr=0.001)
    model.add(Dense(1))
    model.compile(loss='mean_absolute_error', optimizer=adam, metrics=[root_mean_squared_error])
    print(model.summary())
    return model

и подгонка

model_info = model_rnn_stateful.fit(x=x_train, y=y_train, validation_data=(x_test, y_test), batch_size=1, epochs=10,verbose=1)

и прогнозирую на

predicted_rnn_stateful = model_rnn_stateful.predict(x_test)

Но когда я прогнозируювыдает ошибку

ValueError: В сети с состоянием вы должны передавать только входы с количеством выборок, которые можно разделить на размер пакета.Найдено: 200 образцов.Размер партии: 32.

Нет места, где я указываю 32. Я не знаю, откуда он. Мой размер партии только 1. Любая помощь приветствуется.

РЕДАКТИРОВАТЬ У меня нет точек останова, используемых в моем сценарии / IDE. Спасибо

1 Ответ

0 голосов
/ 23 октября 2018

Из Документация Keras

  • batch_size : целое число или нет.Количество образцов на обновление градиента.Если значение не указано, batch_size по умолчанию будет 32.

1, вероятно, является неправильным значением для batch_size, тогда оно приняло значение по умолчанию, равное 32. Попробуйте с 2 или 20 как batch_size

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