Данные поезда Tensorboard не такое же количество шагов, как данные проверки - PullRequest
0 голосов
/ 24 марта 2020

Я настраиваю тензорную доску, используя керасы. Вот код, который я использую:

tensorboard_callback = keras.callbacks.TensorBoard(logdir)
model.compile(loss = 'sparse_categorical_crossentropy', optimizer = 'sgd', metrics = ['accuracy'])
history = model.fit(X_train, y_train, epochs = 40, 
                   validation_data = (X_valid, y_valid), 
                   callbacks = [tensorboard_callback]) 

Когда я запускаю его, я получаю неожиданные графики:

accuracy curves

Итак Кривые показывают, что для данных проверки было больше прогонов, чем для данных обучения (оранжевый). Тем не менее, во время тренировок обратная связь показывает, что я получаю результаты для всех 40 эпох. Например, вот последние несколько строк после running model.fit():

Epoch 37/40
55000/55000 [==============================] - 7s 122us/sample - loss: 0.2029 - accuracy: 0.9274 - val_loss: 0.2961 - val_accuracy: 0.8954
Epoch 38/40
55000/55000 [==============================] - 7s 120us/sample - loss: 0.2010 - accuracy: 0.9288 - val_loss: 0.2974 - val_accuracy: 0.8920
Epoch 39/40
55000/55000 [==============================] - 7s 121us/sample - loss: 0.1958 - accuracy: 0.9299 - val_loss: 0.3039 - val_accuracy: 0.8914
Epoch 40/40
55000/55000 [==============================] - 7s 120us/sample - loss: 0.1943 - accuracy: 0.9307 - val_loss: 0.2954 - val_accuracy: 0.8960

Выполните его несколько раз, с разным количеством эпох, и всегда наблюдайте это несоответствие на графиках.

...