Потеря API обнаружения объектов Tensorflow резко возрастает

#tensorflow #object-detection-api #python-3.9

Вопрос:

Я тренирую API обнаружения объектов tensorflow с помощью своих собственных данных, но по какой-то причине все потери, похоже, взлетают выше нескольких тысяч шагов. Вы можете видеть это на этом рисунке:

введите описание изображения здесь

В начале он идет вниз, как и должно быть, но каким-то образом в какой-то момент он просто взрывается.

Модель, которую я использую, — ssd_resnet50_v1_fpn с предварительно подготовленной контрольной точкой coco, но эта информация может быть неактуальной, так как я думаю, что это происходит с любой моделью (я пробовал 2 модели пару раз каждую, и в настоящее время поведение одинаково для всех моих попыток). Я тренирую его, следуя этому уроку https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/training.html поэтому я использую model_main_tf2.py сценарий для обучения модели.

Что очень странно, так это то, что у моего коллеги нет этой проблемы. Его эволюция потерь кажется довольно нормальной, как вы можете видеть здесь:

введите описание изображения здесь

Он предоставил мне все необходимые файлы для запуска обучения (так, tf.записи, labelmap.txt, файл pipeline.config, индекс ckpt-0 и т. Д.). Ему может повезти, а мне нет. Но очень странно, что каждый раз, когда он запускает его, у него нормальное поведение, а у меня нет… По крайней мере, вероятность того, что это произойдет, очень и очень мала.

Не знаю, имеет ли это значение, но у меня есть GeForce RTX 3060 Ti, Python: 3.9.6, Tensorflow: 2.5.0, Cudnn: 8.1.1 и Cuda: 11.2, в то время как у него есть Geforce GTX 1650 Super, Python: 3.9.6, Tensorflow: 2.5.1, Cudnn: 8.1.0 и Cuda: 11.2

Есть идеи, что может быть причиной этого?

Правка 1: Я повторно запустил это, ничего больше не делая на своем компьютере, и оно работало довольно хорошо. Теперь он показывает ожидаемое поведение. Я повторно запущу его при обычном использовании (возможно, посмотрю видео или что-то в этом роде), что я и делал в последних запусках, которые показали странное поведение, и посмотрю, повторится ли это странное поведение снова или нет. Как вы думаете, это может быть причиной такого поведения?

Ответ №1:

У меня будет точно такая же проблема. После различного количества тысяч шагов потеря просто взрывается. Я также не уверен, что может быть причиной проблемы.

На мой взгляд, это может быть либо проблема с графическим процессором, либо что-то не так с данными. Но в тот момент я должен был пройти весь набор хотя бы один раз. Дайте мне знать, если вы добьетесь какого-либо прогресса в этом 🙂 введите описание изображения здесь

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

1. Такое ощущение, что скорость обучения во многом зависит от этого. В приведенном выше случае я не изменил рекомендуемую скорость обучения, но изменил размер пакета (я использовал размер пакета 2, что не имеет особого смысла, но я не могу превысить этот показатель, прежде чем столкнуться с проблемами с памятью). Если вы измените скорость обучения на что-то меньшее (в основном я разделил размер пакета на 64, поэтому я разделил скорость обучения на ту же величину), у вас больше не будет такого поведения. Но это не все объясняет, так как мой друг просто запускает пакет размером 1 и сохраняет скорость обучения как есть и никогда не сталкивался с этой проблемой