Tensorflow Invalid JPEG data or crop window,data sizeの1つ

8537 ワード

Tensorflowを使用して画像を学習すると、「OpenCVはJPEGのprogressiveタイプをbaselineタイプに変換する」ということに遭遇します.
Traceback (most recent call last):
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1327, in _do_call
    return fn(*args)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1312, in _run_fn
    options, feed_dict, fetch_list, target_list, run_metadata)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1420, in _call_tf_sessionrun
    status, run_metadata)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 516, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Invalid JPEG data or crop window, data size 32768
	 [[Node: DecodeJpeg_1 = DecodeJpeg[acceptable_fraction=1, channels=3, dct_method="", fancy_upscaling=true, ratio=1, try_recover_truncated=false, _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_DecodeJPGInput_0_0)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "retrain.py", line 382, in create_bottleneck_file
    resized_input_tensor, bottleneck_tensor)
  File "retrain.py", line 314, in run_bottleneck_on_image
    {image_data_tensor: image_data})
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 905, in run
    run_metadata_ptr)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1140, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1321, in _do_run
    run_metadata)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1340, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Invalid JPEG data or crop window, data size 32768
	 [[Node: DecodeJpeg_1 = DecodeJpeg[acceptable_fraction=1, channels=3, dct_method="", fancy_upscaling=true, ratio=1, try_recover_truncated=false, _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_DecodeJPGInput_0_0)]]

Caused by op 'DecodeJpeg_1', defined at:
  File "retrain.py", line 1366, in 
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 126, in run
    _sys.exit(main(argv))
  File "retrain.py", line 1049, in main
    model_info['input_std'])
  File "retrain.py", line 995, in add_jpeg_decoding
    decoded_image = tf.image.decode_jpeg(jpeg_data, channels=input_depth)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/ops/gen_image_ops.py", line 944, in decode_jpeg
    name=name)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3290, in create_op
    op_def=op_def)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1654, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): Invalid JPEG data or crop window, data size 32768
	 [[Node: DecodeJpeg_1 = DecodeJpeg[acceptable_fraction=1, channels=3, dct_method="", fancy_upscaling=true, ratio=1, try_recover_truncated=false, _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_DecodeJPGInput_0_0)]]


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "retrain.py", line 1366, in 
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 126, in run
    _sys.exit(main(argv))
  File "retrain.py", line 1180, in main
    f.write('
'.join(image_lists.keys()) + '
') File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1545, in __exit__ self._default_graph_context_manager.__exit__(exec_type, exec_value, exec_tb) File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 5086, in get_controller yield g File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 4896, in get_controller yield default File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 5086, in get_controller yield g File "retrain.py", line 1065, in main bottleneck_tensor, FLAGS.architecture) File "retrain.py", line 488, in cache_bottlenecks resized_input_tensor, bottleneck_tensor, architecture) File "retrain.py", line 430, in get_or_create_bottleneck bottleneck_tensor) File "retrain.py", line 385, in create_bottleneck_file str(e))) RuntimeError: Error during processing file train/hentai/a2407693-2cb4-4254-8b0d-28daa00be68c.jpg (Invalid JPEG data or crop window, data size 32768 [[Node: DecodeJpeg_1 = DecodeJpeg[acceptable_fraction=1, channels=3, dct_method="", fancy_upscaling=true, ratio=1, try_recover_truncated=false, _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_DecodeJPGInput_0_0)]] Caused by op 'DecodeJpeg_1', defined at: File "retrain.py", line 1366, in tf.app.run(main=main, argv=[sys.argv[0]] + unparsed) File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 126, in run _sys.exit(main(argv)) File "retrain.py", line 1049, in main model_info['input_std']) File "retrain.py", line 995, in add_jpeg_decoding decoded_image = tf.image.decode_jpeg(jpeg_data, channels=input_depth) File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/ops/gen_image_ops.py", line 944, in decode_jpeg name=name) File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper op_def=op_def) File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3290, in create_op op_def=op_def) File "/home/king/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1654, in __init__ self._traceback = self._graph._extract_stack() # pylint: disable=protected-access InvalidArgumentError (see above for traceback): Invalid JPEG data or crop window, data size 32768 [[Node: DecodeJpeg_1 = DecodeJpeg[acceptable_fraction=1, channels=3, dct_method="", fancy_upscaling=true, ratio=1, try_recover_truncated=false, _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_DecodeJPGInput_0_0)]]

これは何が原因ですか?
 file OCR-eng.jpg  QR4.jpeg 
OCR-eng.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive , precision 8, 2639x1169, frames 3
QR4.jpeg:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline , precision 8, 640x480, frames 3

Tensorflowはprogressiveの画像を知らず、baseline形式の画像に変換する必要があります.変換方法は頭を上げて書いた文章です.