#tensorflow #machine-learning #deep-learning #object-detection
#tensorflow #машинное обучение #глубокое обучение #обнаружение объекта
Вопрос:
Я работаю над обнаружением объектов TensorFlow. Я использую Google Colab. Пока модель обучается, она отображается как loss = nan после определенного шага. Как я могу это исправить?
Модель = ssd_efficientdet_d2
Вывод =
I1125 09:30:20.814607 139701278168960 model_lib_v2.py:652] Step 1400 per-step time 0.418s loss=1.650 INFO:tensorflow:Step 1500 per-step time 0.601s loss=1.285
I1125 09:31:09.918310 139701278168960 model_lib_v2.py:652] Step 1500 per-step time 0.601s loss=1.285
INFO:tensorflow:Step 1500 per-step time 0.601s loss=1.285
I1125 09:31:09.918310 139701278168960 model_lib_v2.py:652] Step 1500 per-step time 0.601s loss=1.285
INFO:tensorflow:Step 1600 per-step time 0.444s loss=1.344
I1125 09:31:59.594189 139701278168960 model_lib_v2.py:652] Step 1600 per-step time 0.444s loss=1.344
INFO:tensorflow:Step 1700 per-step time 0.511s loss=nan
I1125 09:32:49.015780 139701278168960 model_lib_v2.py:652] Step 1700 per-step time 0.511s loss=nan
INFO:tensorflow:Step 1800 per-step time 0.576s loss=nan
I1125 09:33:39.257319 139701278168960 model_lib_v2.py:652] Step 1800 per-step time 0.576s loss=nan
INFO:tensorflow:Step 1900 per-step time 0.439s loss=nan
I1125 09:34:27.547188 139701278168960 model_lib_v2.py:652] Step 1900 per-step time 0.439s loss=nan
INFO:tensorflow:Step 2000 per-step time 0.445s loss=nan
I1125 09:35:17.008013 139701278168960 model_lib_v2.py:652] Step 2000 per-step time 0.445s loss=nan
INFO:tensorflow:Step 2100 per-step time 0.490s loss=nan
I1125 09:36:08.541600 139701278168960 model_lib_v2.py:652] Step 2100 per-step time 0.490s loss=nan
INFO:tensorflow:Step 2200 per-step time 0.697s loss=nan
Комментарии:
1. Ваши градиенты, вероятно, взрываются (ваши потери растут). Снижение скорости обучения может быть хорошей первой вещью, которую нужно попробовать,
2. @cbk Я сталкиваюсь с той же проблемой. Как вы ее решили?
3. да, я снизил скорость обучения, после чего проблема решена
Ответ №1:
Я видел много вещей, из-за которых модель расходится и которые могут привести к увеличению потерь или снижению точности.
- Может быть связано с высокой скоростью обучения, поэтому в первую очередь уменьшите скорость обучения.
- Проверьте классификатор
DNNClassifier
, если вы используете правильный. - Проверьте, являются ли метки правильными и находятся ли они в области функции потерь.
- Проверьте также функцию потерь. Иногда причиной является то, что входные данные не соответствуют функции потерь.
- Убедитесь, что данные правильно нормализованы. Вероятно, вы хотите, чтобы пиксели находились в диапазоне [-1, 1], а не [0, 255].