Обучение по обнаружению объектов Tensorflow с ошибочным аргументом - PullRequest
0 голосов
/ 28 мая 2019

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

InvalidArgumentError: image_size должен содержать 3 элемента [4]

Я искал ошибку и обнаружил

InvalidArgumentError: image_size должен содержать 3 элемента [4] # 3349

, который показывает ошибку и дает решение проверки, чтобы убедиться, что все изображения являются RGB.Я использовал код, предоставленный в этой теме, чтобы проверить все изображения.Я нашел около 15 изображений, которые не были RGB.Я удалил изображения и соответствующие файлы XML.Я перекомпилировал файлы csv и tfrecord и возобновил обучение.Я снова получил сообщение об ошибке.Затем я попытался начать тренировку заново, не возвращаясь с последней контрольной точки, и все равно получил ошибку.Ошибка не происходит на регулярной основе.Иногда модель проходит несколько тысяч шагов до отказа.Я также попытался удалить случайный параметр кадрирования из файла pipe.config, который не имел никакого влияния.

Любая помощь приветствуется.

Сообщение об ошибке:

INFO:tensorflow:global_step/sec: 2.03361
INFO:tensorflow:global step 4039: loss = 6.2836 (0.512 sec/step)
INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors_impl.InvalidArgumentError'>, image_size must contain 3 elements[4]
         [[Node: cond_2/RandomCropImage/sample_distorted_bounding_box/SampleDistortedBoundingBoxV2 = SampleDistortedBoundingBoxV2[T=DT_INT32, area_range=[0.1, 1], aspect_ratio_range=[0.5, 2],max_attempts=100, seed=0, seed2=0, use_image_if_no_bounding_boxes=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](cond_2/RandomCropImage/Shape, cond_2/RandomCropImage/ExpandDims, cond_2/RandomCropImage/PruneNonOverlappingBoxes/Const)]]
INFO:tensorflow:Recording summary at step 4039.
INFO:tensorflow:global step 4040: loss = 4.6984 (0.880 sec/step)
INFO:tensorflow:Finished training! Saving model to disk.
Traceback (most recent call last):
  File "/floyd/object_detection/legacy/train.py", line 184, in <module>
    tf.app.run()
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 125, inrun
    _sys.exit(main(argv))
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 250, in new_func
    return func(*args, **kwargs)
  File "/floyd/object_detection/legacy/train.py", line 180, in main
    graph_hook_fn=graph_rewriter_fn)
  File "/floyd/object_detection/legacy/trainer.py", line 415, in train
    saver=saver)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/contrib/slim/python/slim/learning.py", line 785, in train
    ignore_live_threads=ignore_live_threads)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/training/supervisor.py", line 833, in stop
    ignore_live_threads=ignore_live_threads)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/training/coordinator.py", line389, in join
    six.reraise(*self._exc_info_to_raise)
  File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise
    raise value
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/training/queue_runner_impl.py", line 252, in _run
    enqueue_callable()
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1244,in _single_operation_run
    self._call_tf_sessionrun(None, {}, [], target_list, None)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1409,in _call_tf_sessionrun
    run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: image_size must contain 3 elements[4]
         [[Node: cond_2/RandomCropImage/sample_distorted_bounding_box/SampleDistortedBoundingBoxV2 = SampleDistortedBoundingBoxV2[T=DT_INT32, area_range=[0.1, 1], aspect_ratio_range=[0.5, 2],max_attempts=100, seed=0, seed2=0, use_image_if_no_bounding_boxes=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](cond_2/RandomCropImage/Shape, cond_2/RandomCropImage/ExpandDims, cond_2/RandomCropImage/PruneNonOverlappingBoxes/Const)]]

Заранее спасибо.

1 Ответ

0 голосов
/ 28 мая 2019

так что это была проблема с изображением RGB. Я проверил изображения и удалил не RGB-изображения и воссоздал записи, но модель все еще указывала на старые записи, потому что пути были очень похожи, я не заметил.

...