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

Ошибка:

INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors_impl.InvalidArgumentError'>, image_size must contain 3 elements[4]
[[Node: distort_image/distorted_bounding_box_crop/sample_distorted_bounding_box/SampleDistortedBoundingBoxV2 = SampleDistortedBoundingBoxV2[T=DT_INT32, area_range=[0.05, 1], aspect_ratio_range=[0.75, 1.33], max_attempts=100, seed=0, seed2=0, use_image_if_no_bounding_boxes=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](distort_image/distorted_bounding_box_crop/Shape, distort_image/Const, distort_image/distorted_bounding_box_crop/sample_distorted_bounding_box/SampleDistortedBoundingBoxV2/min_object_covered)]]
INFO:tensorflow:Finished training! Saving model to disk.
INFO:tensorflow:Recording summary at step 1300607.
Traceback (most recent call last):
File "train_image_classifier.py", line 615, in 
tf.app.run()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "train_image_classifier.py", line 611, in main
session_config=sess_config)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/slim/python/slim/learning.py", line 775, in train
sv.stop(threads, close_summary_writer=True)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/supervisor.py", line 792, in stop
stop_grace_period_secs=self._stop_grace_secs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/coordinator.py", line 389, in join
six.reraise(*self._exc_info_to_raise)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/queue_runner_impl.py", line 238, in _run
enqueue_callable()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1231, in _single_operation_run
target_list_as_strings, status, None)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/errors_impl.py", line 473, in exit
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: image_size must contain 3 elements[4]
[[Node: distort_image/distorted_bounding_box_crop/sample_distorted_bounding_box/SampleDistortedBoundingBoxV2 = SampleDistortedBoundingBoxV2[T=DT_INT32, area_range=[0.05, 1], aspect_ratio_range=[0.75, 1.33], max_attempts=100, seed=0, seed2=0, use_image_if_no_bounding_boxes=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](distort_image/distorted_bounding_box_crop/Shape, distort_image/Const, distort_image/distorted_bounding_box_crop/sample_distorted_bounding_box/SampleDistortedBoundingBoxV2/min_object_covered)]]

Очень любопытная проблема, когда модель обучается, вызванная функцией tf.image.sample_distorted_bounding_box()

InvalidArgumentError: image_size должен содержать 3 элемента [4] Иногда можно возобновить обучение, но иногда это всегда неправильно.

Я не знаю, как это решить.

Любая помощь очень ценится.

0 ответов

Немного опоздал с вечеринкой. Получил ту же ошибку, и перед этим было предупреждение, которое точно сообщает, что у тензора есть 4 измерения вместо 3. Решил, что проблема в том, что вам нужно преобразовать из SRGB в JPG и удалить BG.

Вот сценарий для этого. Предоставлено проблемой tenorflow

       from PIL import Image     
import os       
path = 'SET YOUR PATH' # Source Folder 
for file in os.listdir(path):      
        extension = file.split('.')[-1]
        if extension == 'jpg':
            fileLoc = path+file
            img = Image.open(fileLoc)
            if img.mode != 'RGB':
                print(file+', '+img.mode)
                new = Image.new("RGB", img.size, (255, 255, 255))
                new.paste(img,None)
                new.save(file, 'JPEG', quality=100)
Другие вопросы по тегам