前提・実現したいこと
https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/training.html#training-the-model
を参考に物体検出のモデルを生成を目指しています。
発生している問題・エラーメッセージ
しかし、generate_tf.record.pyで
以下のエラーが出力されました。
python
1Traceback (most recent call last): 2 File "generate_tfrecord.py", line 62, in <module> 3 label_map = label_map_util.load_labelmap(args.labels_path) 4 File "C:\Users\rh731\anaconda3\lib\site-packages\object_detection\utils\label_map_util.py", line 168, in load_labelmap 5 label_map_string = fid.read() 6 File "C:\Users\rh731\anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 117, in read 7 self._preread_check() 8 File "C:\Users\rh731\anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 79, in _preread_check 9 self._read_buf = _pywrap_file_io.BufferedInputStream( 10UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8e in position 138: invalid start byte
該当のソースコード
以下のfig.read()でエラーが発生ししていると思われます。
python
1def create_tf_example(group, path): 2 with tf.gfile.GFile(os.path.join(path, '{}'.format(group.filename)), 'rb') as fid: 3 encoded_jpg = fid.read() 4 encoded_jpg_io = io.BytesIO(encoded_jpg) 5 image = Image.open(encoded_jpg_io) 6 width, height = image.size 7
試したこと
・全てのファイルがutf8であることを確認しました。
補足情報(FW/ツールのバージョンなど)
以下のサイトを閲覧しました。
https://insilico-notebook.com/python-unicodedecodeerror/
https://qiita.com/niwaringo/items/d2a30e04e08da8eaa643
https://www.kumilog.net/entry/unicode-decode-error
https://github.com/tensorflow/models/issues/10035
https://github.com/tensorflow/tensorflow/issues/37950
###追記情報
generate_tfrecord.pyのargs.labels_mapの表示結果を追記しました。
C:\Users\rh731\PycharmProjects\TensorFlow\workspace\training_demo\annotations\label_map.pbtxt
新たなエラーが発生しました。
python
1Traceback (most recent call last): 2 File "generate_tfrecord.py", line 194, in <module> 3 tf.app.run() 4 File "C:\Users\rh731\anaconda3\lib\site-packages\tensorflow\python\platform\app.py", line 40, 5in run 6 _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef) 7 File "C:\Users\rh731\anaconda3\lib\site-packages\absl\app.py", line 303, in run 8 _run_main(main, args) 9 File "C:\Users\rh731\anaconda3\lib\site-packages\absl\app.py", line 251, in _run_main 10 sys.exit(main(argv)) 11 File "generate_tfrecord.py", line 184, in main 12 tf_example = create_tf_example(group, path) 13 File "generate_tfrecord.py", line 137, in create_tf_example 14 encoded_jpg = fid.read() 15 File "C:\Users\rh731\anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 11 167, in read 17 self._preread_check() 18 File "C:\Users\rh731\anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 79 19, in _preread_check 20 self._read_buf = _pywrap_file_io.BufferedInputStream( 21UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8e in position 147: invalid start byte
回答2件
あなたの回答
tips
プレビュー