Tensorboard не показывает результат оценки последней контрольной точки

Я обучил несколько моделей обнаружения объектов с помощью пользовательских данных для шагов по 4 КБ с помощью TensorFlow Object Detection API и оценил их во время обучения. Оценка делается для всех чекпоинтов, результаты я смотрел на консоли.

Однако по какой-то причине я не вижу результатов оценки последних двух контрольных точек на Tensorboard. Он показывает результат оценки 3К шагов, и ничего после этого. Я вижу, что оценка завершена на консоли, а также в папке.

При запуске Tensorboard в консоли нет сообщений об ошибках. Я вижу, что результаты обучения полностью загружаются в Tensorboard, единственное, чего не хватает, — это результаты последней оценки.

Я попытался снова оценить последние контрольные точки, но ничего не изменилось. В конце оценки я получаю сообщение о том, что метрики записываются в сводку...

Контрольные точки обучения сохраняются каждые 10 минут, а оценка занимает 12 минут. Но даже в этом случае я ожидаю, что там будут результаты последней оценки контрольной точки.

Когда я пытаюсь загрузить CSV-файл с Tensorboard, я также не вижу оценки двух последних контрольных точек.

Что может быть причиной?

I0311 16:57:21.281645 MainThread program.py:165] Not bringing up TensorBoard, but inspecting event files.
I0311 16:57:21.281645 140028330256128 program.py:165] Not bringing up TensorBoard, but inspecting event files.
======================================================================
Processing event files... (this can take a few minutes)
======================================================================

Found event files in:
./CN_flow1_95/eval
./CN_flow1_95/train

These tags are in ./CN_flow1_95/eval:
audio -
histograms -
images
   image-0
   image-1
   image-2
   image-3
   image-4
   image-5
   image-6
   image-7
   image-8
   image-9
scalars
   Losses/Loss/BoxClassifierLoss/classification_loss
   Losses/Loss/BoxClassifierLoss/localization_loss
   Losses/Loss/RPNLoss/localization_loss
   Losses/Loss/RPNLoss/objectness_loss
   PascalBoxes_PerformanceByCategory/[email protected]/b'cyclist'
   PascalBoxes_PerformanceByCategory/[email protected]/b'motorcyclist'
   PascalBoxes_PerformanceByCategory/[email protected]/b'pedestrian'
   PascalBoxes_Precision/[email protected]
tensor -
======================================================================

Event statistics for ./CN_flow1_95/eval:
audio -
graph
   first_step           0
   last_step            0
   max_step             0
   min_step             0
   num_steps            1
   outoforder_steps     []
histograms -
images
   first_step           0
   last_step            4112
   max_step             4112
   min_step             0
   num_steps            7
   outoforder_steps     []
scalars
   first_step           0
   last_step            4112
   max_step             4112
   min_step             0
   num_steps            7
   outoforder_steps     []
sessionlog:checkpoint -
sessionlog:start -
sessionlog:stop -
tensor -
======================================================================

These tags are in ./CN_flow1_95/train:
audio -
histograms
   ModelVars/...
images -
scalars
   Losses/TotalLoss
   Losses/clone_0/Loss/BoxClassifierLoss/classification_loss
   Losses/clone_0/Loss/BoxClassifierLoss/localization_loss
   Losses/clone_0/Loss/RPNLoss/localization_loss
   Losses/clone_0/Loss/RPNLoss/objectness_loss
   Losses/clone_1/Loss/BoxClassifierLoss/classification_loss
   Losses/clone_1/Loss/BoxClassifierLoss/localization_loss
   Losses/clone_1/Loss/RPNLoss/localization_loss
   Losses/clone_1/Loss/RPNLoss/objectness_loss
   Losses/clone_2/Loss/BoxClassifierLoss/classification_loss
   Losses/clone_2/Loss/BoxClassifierLoss/localization_loss
   Losses/clone_2/Loss/RPNLoss/localization_loss
   Losses/clone_2/Loss/RPNLoss/objectness_loss
   batch/fraction_of_150_full
   clone_0/Losses/clone_0//clone_loss
   global_step/sec
   queue/prefetch_queue/fraction_of_5_full
tensor -
======================================================================

Event statistics for ./CN_flow1_95/train:
audio -
graph
   first_step           0
   last_step            0
   max_step             0
   min_step             0
   num_steps            1
   outoforder_steps     []
histograms
   first_step           0
   last_step            4110
   max_step             4110
   min_step             0
   num_steps            28
   outoforder_steps     []
images -
scalars
   first_step           0
   last_step            4110
   max_step             4110
   min_step             0
   num_steps            54
   outoforder_steps     []
sessionlog:checkpoint
   first_step           1
   last_step            4111
   max_step             4111
   min_step             1
   num_steps            7
   outoforder_steps     []
sessionlog:start
   outoforder_steps     []
   steps                [0, 4110]
sessionlog:stop
   outoforder_steps     []
   steps                [0, 0]
tensor -
======================================================================

person kneazle    schedule 11.03.2019    source источник
comment
В прошлый раз у меня было такое поведение (с простым тензорным потоком), потому что я не установил параметр config tf.estimator.Estimator, который, как ожидается, будет tf.estimator.RunConfig , который позволяет установить save_checkpoints_secs. Однако я не уверен, применимо ли это в вашем случае.   -  person Stefan Falk    schedule 11.03.2019
comment
Я могу изменить частоту сохранения контрольных точек из slim.learning.train.py, но я сомневаюсь, что это проблема... потому что, хотя в оценке отсутствует одна контрольная точка между ними, она все равно должна включать результаты из самой последней из когда-либо существовавших контрольно-пропускной пункт.   -  person kneazle    schedule 11.03.2019


Ответы (1)


Я также спросил об этом в репозитории TensorBoard. Они сказали, что нет причин не загружать файл событий идеально, и сказали мне прийти сюда...

Правильные результаты иногда видны (если файлов событий 10-15 из-за исчерпывающего тестирования), но в основном не могут. Я изменил частоту хранения контрольных точек, чтобы не пропустить ни одну из них во время оценки (не имеет смысла, но все же попробовал)

Я сохранял контрольные точки каждые 12 минут, так как оценка также занимает 12 минут. Это также не сработало.

Все результаты tensorboard --inspect выглядят нормально.

Пробовал разные модели на разных компах, а также чистил кеш браузера. Ничего не помогает на самом деле.

Я считаю, что в tensorboard есть ошибка.

person kneazle    schedule 14.03.2019