@ Pedro Asseiro На самом деле, итератор генерирует данные динамически. Таким образом, длина итератора набора данных неизвестна, пока вы не выполните итерацию по крайней мере один раз. Вы можете передать аргумент steps_per_epoch в model.fit_generator
, как показано ниже. Затем он печатает, как вы ожидаете.
with tf.device("/device:GPU:0"):
history = model.fit_generator(train_generator, steps_per_epoch=len(train_generator),
epochs=epochs,
validation_data=val_generator,validation_steps=len(val_generator))
Редактировать 1:
@ Pedro Asseiro @gokul_uf Я обновляю приведенный выше код на основе ваших комментариев. Вам нужно добавить steps_per_epoch
, а также validation_steps
. Еще одно изменение, которое я сделал, это запуск model.fit
под GPU. Более того, я сделал то же самое с model.fit
в разделе тонкой настройки.
with tf.device("/device:GPU:0"):
history_fine = model.fit_generator(train_generator, steps_per_epoch=len(train_generator),
epochs=5,
validation_data=val_generator,validation_steps=len(val_generator))
Пожалуйста, проверьте GitHub гист здесь . Спасибо!
Пожалуйста, дайте мне знать, если что-то не работает. Спасибо!