Почему Google Colab обучает только 2 первым шагам первой эпохи (keras)?

#python #machine-learning #keras #neural-network #conv-neural-network

#python #машинное обучение #keras #нейронная сеть #conv-нейронная сеть

Вопрос:

У меня есть набор данных изображений 41258 rgb с такой формой: (320, 320, 3). Метки представляют собой 42 3d координаты, поэтому для каждого изображения имеется 126 меток. Форма надписей равна (42, 3), но они изменены на (-1, 126). Метки находятся в диапазоне от -1 до 1. И изображения нормализуются между 0 и 1.

Я использую Google Colab с графическим процессором, и это происходит:

 Epoch 1/10
  1/103 [..............................] - ETA: 0s - loss: 0.0985 - mae: 0.2258 - mse: 0.0985WARNING:tensorflow:Callbacks method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0099s vs `on_train_batch_end` time: 0.0372s). Check your callbacks.
103/103 [==============================] - 4s 39ms/step - loss: 0.0903 - mae: 0.2063 - mse: 0.0903
Epoch 2/10
103/103 [==============================] - 4s 39ms/step - loss: 0.0799 - mae: 0.1872 - mse: 0.0799
Epoch 3/10
103/103 [==============================] - 4s 39ms/step - loss: 0.0800 - mae: 0.1864 - mse: 0.0800
Epoch 4/10
103/103 [==============================] - 4s 39ms/step - loss: 0.0803 - mae: 0.1864 - mse: 0.0803
Epoch 5/10
103/103 [==============================] - 4s 41ms/step - loss: 0.0777 - mae: 0.1807 - mse: 0.0777
Epoch 6/10
103/103 [==============================] - 4s 39ms/step - loss: 0.0774 - mae: 0.1795 - mse: 0.0774
Epoch 7/10
103/103 [==============================] - 4s 40ms/step - loss: 0.0776 - mae: 0.1798 - mse: 0.0776
  

Первая эпоха имеет только один шаг, а затем она перезапускает эпоху.

Я пытался использовать процессор, и все нормально, это происходит только при использовании GPU.

Я не могу обучить весь набор данных, поэтому я делаю это по частям, и мне приходится вызывать fit много раз. Проблема всегда возникает во всех первых эпохах.

Комментарии:

1. как вы думаете, почему у него есть один шаг, а затем перезапускается? вы получаете предупреждение для первого обучающего примера, в котором вывод продолжается в следующей строке

Ответ №1:

Это не ошибка — это просто небольшое изменение форматирования в консоли вывода из-за предупреждения. Вы можете увидеть ниже

1/103 [..............................] что остальная часть эпохи продолжается во второй строке

103/103 [==============================]

и затем после этого начинается вторая эпоха. Это легче читать, если вы смотрите, где каждый раз объявляется эпоха. Я вижу это все время, сначала это меня тоже смущало.