SSD Tensorflow:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start
2017-10-12 17:31
3131 查看
我们在运行SSD Tensorflow版本的时候,会出现以下问题,我运行的命令为:
DATASET_DIR=VOC2012/
OUTPUT_DIR=tfrecords
python tf_convert_data.py \
--dataset_name=pascalvoc \
--dataset_dir=${DATASET_DIR} \
--output_name=voc_2012_train \
--output_dir=${OUTPUT_DIR}
通过百度是搜不到github上面的issues上面的答案的,我这里把问题的解决方法写出来,希望帮助大家玩SSD。错误信息为:
Converting image 1/5138Traceback (most recent call last):
File "tf_convert_data.py", line 59, in <module>
tf.app.run()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "tf_convert_data.py", line 54, in main
pascalvoc_to_tfrecords.run(FLAGS.dataset_dir, FLAGS.output_dir, FLAGS.output_name)
File "/home/xyxt/Downloads/SSD-Tensorflow/datasets/pascalvoc_to_tfrecords.py", line 218, in run
_add_to_tfrecord(dataset_dir, img_name, tfrecord_writer)
File "/home/xyxt/Downloads/SSD-Tensorflow/datasets/pascalvoc_to_tfrecords.py", line 177, in _add_to_tfrecord
_process_image(dataset_dir, name)
File "/home/xyxt/Downloads/SSD-Tensorflow/datasets/pascalvoc_to_tfrecords.py", line 83, in _process_image
image_data = tf.gfile.FastGFile(filename, 'r').read()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/lib/io/file_io.py", line 126, in read
pywrap_tensorflow.ReadFromStream(self._read_buf, length, status))
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/lib/io/file_io.py", line 94, in _prepare_value
return compat.as_str_any(val)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/util/compat.py", line 106, in as_str_any
return as_str(value)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/util/compat.py", line 84, in as_text
return bytes_or_text.decode(encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
解决办法为:
pascalvoc_to_tfrecords.py
image_data = tf.gfile.FastGFile(filename, 'r').read()
改成:
image_data = tf.gfile.FastGFile(filename, 'rb').read()
就可以了。
参考文献
[1].can't create dataset: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte . https://github.com/balancap/SSD-Tensorflow/issues/108相关文章推荐
- error UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 884: invalid start byte
- Pickle:UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
- 【转】UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 1: invalid continuation 汉字编码
- 报错信息:UnicodeDecodeError: 'utf-8' codec can't decode byte 0x88 in position 6382: invalid start byte
- 【转】UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 1: invalid continuation 汉字编码
- 21、Tensorflow:‘utf-8’ codec can’t decode byte 0xff in position 0: invalid start byte
- About UnicodeDecodeError: 'utf8' codec can't decode byte 0xa1 in position 157: invalid start byte
- Tensorflow图像解码 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start
- python编码错误UnicodeDecodeError: ‘ascii’/'utf-8′ codec can’t decode byte 0xb8 in position 50: ord
- ride.py中文用户名:UnicodeDecodeError:'utf8'codec can't decode byte 0xb2 in position 9: invalid start byte
- 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte解决方法
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
- python报错:SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xb4 in position 2:invalid sta
- 解决Python:'utf-8' codec can't decode byte 0xfc in position 14: invalid start byte
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 0: invalid start byte
- python3 读入csv文件报错('utf-8' codec can't decode byte 0x8b in position 2: invalid start byte)的解决
- python编码错误UnicodeDecodeError: 'ascii'/'utf-8' codec can't decode byte 0xb8 in position 50: ord
- 解决 python爬虫'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte‘错误