Не влияет batch_size на количество итераций в model.fit в keras - PullRequest
0 голосов
/ 16 мая 2019

У меня есть простая модель для демонстрации:

input_layer = Input(shape=(100,))
encoded = Dense(2, activation='relu')(input_layer)

X = np.ones((1000, 100))
Y = np.ones((1000, 2))
print(X.shape)

model = Model(input_layer, encoded)
model.compile(loss='categorical_crossentropy', optimizer='adam')
model.fit(x=X, y=Y, batch_size = 2)

Вывод:

2.2.4
(1000, 100)
Epoch 1/1
1000/1000 [==============================] - 3s 3ms/step - loss: 1.3864

Почему в одну эпоху 1000 итераций (как показано в выходных данных). Я пытался изменить это, но не меняет вывод. Я думаю, это должно было быть 1000/2 = 500. Пожалуйста, объясните, что не так с моим пониманием и как я могу правильно установить размер партии.

Спасибо

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Изменяет размер пакета, полоса прогрессирует быстрее, хотя вы явно не видите это как шаг. У меня был тот же вопрос в моей голове некоторое время назад.

Если вы хотите явно видеть каждый шаг, вы можете использовать steps_per_epoch и validation_steps.

Пример приведен ниже.

model.fit_generator(training_generator,
                        steps_per_epoch=steps_per_epoch,
                        epochs=epochs,
                        validation_data=validation_generator,
                        validation_steps=validation_steps)

В этом случае steps_per_epoch = number_of_training_samples / batch_size, тогда как validation_steps = number_of_training_samples / batch_size.

Во время обучения вы увидите 500 шагов вместо 1000 (при условии, что у вас есть 1000 обучающих образцов и ваш batch_size равен 2).

0 голосов
/ 16 мая 2019

В model.fit числа в левой части индикатора выполнения показывают количество сэмплов, так что это всегда текущие сэмплы / общее количество сэмплов.

Возможно, вы запутались, потому что в * 1004 все работает иначе*.Там вы на самом деле видите подсчеты итераций или партий.

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