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)