Запустите тот же код, что и раньше, но мой тренировочный набор автоматически сократился до 2,5% (обучение в Google Colab)? - PullRequest
1 голос
/ 31 марта 2020

Ранее я реализовал 2 модели CNN (Resnet50v2 и inceptionResNetv2) с набором данных, содержащим 3662 изображения. Оба отлично работали в Google colab во время обучения и проверки. Теперь я снова запускаю точно такой же код, и тренировочные выборки за эпоху были сокращены до 92 выборок за эпоху (до 2929 / эпох). Две модели использовали отдельные ноутбуки, и теперь они оба такие.

Я подумал, что это может быть из-за ограниченного объема ОЗУ (после 1 месяца использования Google Colab, кажется, он уменьшился до половины), поэтому я обновился до Colab Pro с 25 ГБ ОЗУ. Это не решает проблему.

У кого-нибудь возникла такая же проблема? Кто-нибудь может дать подсказку, в чем может быть причина и решение проблемы? Большое спасибо!

Здесь приведен некоторый код в конце рабочего процесса (раньше он работал хорошо):

model = tf.keras.applications.InceptionResNetV2(
    include_top=True, weights=None, input_tensor=None, input_shape=None,
    pooling=None, classes=5)
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
model.fit(X, y_orig, epochs = 20, batch_size = 32, validation_split = 0.2, callbacks=[tensorboard_callback])

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

Так что я думаю, что нашел причину. Это был номер партии, который отображался во время тренировки. В моем случае: 2929 (количество образцов поезда) / 32 (batch_size) = 91,5 (число, отображаемое сейчас во время тренировки).

Чтобы проверить это, я изменил размер партии на 8 и получил 366 / эпоху. Кроме того, общее время обучения остается прежним, что позволяет предположить, что количество тренировочных образцов фактически не изменилось.

0 голосов
/ 31 марта 2020

Используете ли вы tenorflow v1 или v2?

Сохраняется ли эта проблема, если вы переключитесь на 1.x, запустив ячейку с %tensorflow_version 1.x перед импортом tenorflow?

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