Во время тренировки с TensorFlow Object Detection
API я всегда получаю накопленный результат оценки 0. Ниже приводится соответствующая подробная информация, которую я получил:
Accumulating evaluation results...
DONE (t=1.51s).
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.000
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.000
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.000
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.000
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.000
Почему это происходит? В качестве документации по TFOD я предоставил модели файлы train.record
и test.record. Но не предоставил никаких наборов данных для проверки или оценки или чего-то в этом роде отдельно, так как я не нашел ничего подобного в качестве требования. Это причина этого?
Дополнительно вот обучающая команда:
!python /content/models/research/object_detection/model_main.py \
--pipeline_config_path={pipeline_fname} \
--model_dir={model_dir} \
--alsologtostderr \
--num_train_steps={num_train_steps} \
--num_eval_steps={num_eval_steps}
Здесь я установил следующие значения для этих переменных:
- pipeline_fname : 'ssd_mobilenet_v2_coco.config'
- model_dir: '/ training' # просто папка с образцами для хранения модели
- num_train_steps: 50000
- num_eval_steps: 1
Дополнительная информация:
- Использована предварительно обученная модель: 'ssd_mobilenet_v1_coco_2017_11_17'
- Batch_size: 8
- Tensorflow-GPU 1.x используется в COLAB
- NumPy == 1.17.5 был установлен заранее, поскольку последняя версия создавала ошибку с именем
Out of range: End of sequence
и, вероятно, возникла из-за другой ошибки с именем TypeError: 'numpy.float64' object cannot be interpreted as an integer
. Оба они были исправлены путем понижения версии NumPy.
EDIT: Помимо этого, я обнаружил еще одну проблему. Во время тестирования на тестовых изображениях не отображаются ограничительные рамки.